강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

안소님의 프로필 이미지
안소

작성한 질문수

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

디버깅 기초

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

작성

·

380

1

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

답변 3

8

Rookiss님의 프로필 이미지
Rookiss
지식공유자

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

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

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

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

0

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

0

안소님의 프로필 이미지
안소
질문자

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

안소님의 프로필 이미지
안소

작성한 질문수

질문하기