더북(TheBook)

결과를 보니, 이름 hwlee는 제대로 출력되었으나, 그 이후 버그(오류)가 존재한다는 것을 알 수 있습니다. 여기서 이름이 출력되었다는 말은 printf() 함수 이전까지 코드에는 오류가 없다는 것을 의미합니다.

이처럼 코드의 특정 부분이 시작되기 전에 혹은 그 이후에 오류가 발생하였는지를 선정하는 기준은, 개발자가 버그가 의심이 되는 구간을 중심으로 좁혀가는 것이 효율적입니다. 코드를 작성하는 능력이 높을수록 디버깅 포인트를 적절하게 잡아, 버그가 발생한 곳을 빠르게 찾을 수 있습니다.

debug_3.c

#include <stdio.h>
 
main() {
    int i;
    int sum;
    int a[] = { 1,2,3,4,5 };
 
    printf("hwlee\n");        // 출력 1
    
    for (i = 0; i < 5; i++) {
        printf("hwlee2\n");    // 출력 2
 
        sum += a[i];
    }
    printf("배열 요소의 전체 합은 %d\n", sum);
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.