Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>
디버깅

11. 디버깅

정확한 버그의 원인을 알아내는 것은 꽤나 성가신 일이지만, 여기에도 몇가지 테크닉이 있다.

  • 표준출력으로 프린트하여 - 프로그램이 간단한 경우, 몇몇 변수들의 값을 프린트해보고, 어떤 값인지 본다 - 무엇이 잘못되었는지 찾기

  • 디버거를 이용하기. 디버거는 breakpoint를 설정하고, 실행도중에 코드를 추적해볼 수 있도록 해준다. 대부분의 IDE는 디버거가 같이 있다. GNU 시스템의 경우, gdb가 있다.

  • 컴파일러에서 지원하는 옵션들을 사용하여 보다 많은 경고(warning)을 볼 수 있도록 해라. 예를들어 g++의 경우, -Wall 옵션을 사용해라.

디버깅에 도움이 되는 사이트 :

11.1. 디버깅 파일

C++이나 C 프로그램을 디버깅하려면 23절 의 파일을 인클루드하고, 'Makefile'에 DEBUG_STR, DEBUG_PRT , DEBUG&_MEM을 디파인 해서 debug.h 의 함수들로 추적할 수 있도록 한다. '-DDEBUG_STR' 등을 없앨 때, 디버깅 함수들은 ((void)0) (NULL을 의미)으로 세팅될 것이다. 따라서 최종 결과물에는 아무런 영향을 주지 않는다. 이 디버깅 함수들은 프로그램에 다양하게 적용될 수 있을 것이고, 결과물의 크기를 증가시키지는 않을 것이다.

debug 루틴의 구현을 위해서는 23절 를 참조해라.

또한, 23절 에서 debug.h 와 디버깅 함수들을 이용한 예제 프로그램을 보아라.

23절 의 예를 보라.