45.3 함수 디버깅하기
이번에는 함수 디버깅 방법을 알아보겠습니다. 다음 내용을 소스 코드 편집 창에 입력하세요.
function.c
#include <stdio.h> void hello() // 반환값이 없는 hello 함수 정의 { printf("Hello, world!\n"); // Hello, world! 출력 } int main() { hello(); // hello 함수 호출 return 0; }
소스 코드 입력이 끝났으면 소스 코드 편집 창의 main 함수의 시작 중괄호 {와 hello 함수의 시작 중괄호 {에서 F9 키를 눌러 중단점을 설정합니다.
이제 F5 키를 눌러 디버깅을 시작합니다. 그러면 먼저 main 함수에 설정된 중단점에서 프로그램이 멈춥니다.
여기서 다시 F5 키를 누르면 hello 함수에 설정된 중단점에서 프로그램이 멈춥니다.
즉, 프로그램이 시작될 때 main 함수가 호출되고 main 함수에서 hello 함수를 호출했으므로 main → hello 순으로 호출됩니다.
Visual Studio에서 F5 키는 디버깅을 시작하는 기능도 하고, 디버깅 중일 때는 다음 중단점까지 프로그램을 계속 실행하는 기능을 합니다(메뉴에서 디버그(D) > 계속(C)).
이제 F10 키를 두 번 눌러 printf("Hello, world\n");을 실행하면 명령 프롬프트에도 "Hello, world!"가 출력됩니다(메뉴에서 디버그(D) > 프로시저 단위 실행(O)).
이처럼 중단점은 여러 개 설정할 수 있으며 F5 키를 누르면 다음 중단점에서 프로그램이 멈춥니다. 따라서 함수마다 중단점을 설정하면 함수의 실행 순서를 파악할 수 있습니다.