inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

디버깅 기초

왜 현재 서비스 되고 있는 프로그램의 경우엔 브레이크 포인트를 사용할 수 없는건가요?

385

안소

작성한 질문수 14

1

궁금합니다! 16:50 즈음이요 ㅎㅎ 

C#

답변 3

8

Rookiss

자동차 제조로 비유하자면
자동차를 만드는 동안에는 제품이 우리 손 안에 있으니
이리 저리 뜯어보고 결함이 없는지 확인할 수 있지만,
출고 후에는 실시간으로 자동차를 살펴볼 수 없는? 것과 비슷합니다.
만약 급발진 등 치명적인 결함으로 차사고가 났다고 하면
사고난 차량을 끌고 와서 사후 검사를 할 수는 있겠죠.

마찬가지로 현재는 우리가 Visual Studio를 통해서
프로그램을 Debug 모드로 실행하고 있고,
VS가 컴파일러 외에도 디버거 역할을 하기 때문에
원하는 곳에 멈춰서 살펴볼 수 있는겁니다.
그런데 실제로 라이브로 제품을 출시할 때는
Release 모드로 빌드를 해서,
디버거를 붙이지 않고 그냥 실행하게 됩니다. (Release 모드 성능이 빠르기 때문)

혹시라도 프로그램에 문제가 생겨서 뻗거나 크래시가 난다면,
크래시 덤프(Crash Dump)를 남겨서
크래시가 난 시점의 메모리와 문제가 된 코드는 살펴볼 수 있습니다.
그러나 디버깅할 때처럼 한줄 실행하면서 실시간으로 살펴볼 수는 없습니다.

그러니 최대한 제품을 내놓기 전에 버그를 많이 찾아놓고 검증하는게 중요하겠죠!
그래서 게임회사에서는 QA팀이 따로 있습니다.
기획자들이 이런 저런 사양들을 사양서에 적어놓으면,
QA 직군이 그 모든 기능들이 정상적으로 작동하는지 테스트를 하고
예외 케이스에 대한 검증을 하게 됩니다.

0

KIYOMIN

상세한 답변 정말 감사드립니다!

0

안소

헐 정말 감사합니다. 명쾌하게 이해가 되었네요!

Generic에 대한 질문 있습니다.

0

97

2

2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?

0

203

2

다형성 캐시 문제

0

113

3

.

0

71

1

프로퍼티 강의 질문 있습니다.

0

79

1

이후 커리 질문

0

86

1

static

0

91

2

강의에는 새로운 클래스 파일을 생성하면...

0

72

1

생성자의 이름 선언

0

65

1

9:03 Divide(10 , 3) 부분 질문입니다

0

88

1

깃허브 관련 질문 있습니다.

0

239

1

비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문

0

249

1

C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!

0

306

2

Activator 질문있습니다

0

332

1

이넘 타임 선언 질문

0

347

1

Sort 오름차순, 내림차순

0

323

1

질문 있습니다.

0

250

1

팩토리얼 문제

0

271

1

Sort함수 질문있습니다.

0

266

1

다형성 함수 질문 있습니다.

0

221

1

질문이 있습니다.

0

229

1

섹션2 연습문제 질문입니다.

0

214

1

안녕하세요~서버에 대해 질문이 있습니다.

1

284

1

텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ

0

395

1