jungol 119 - 디버깅

C/C++기초 2019. 9. 11. 12:22

다음의 프로그램을 작성하고 디버깅을 하며 ①, ②, ③ 위치의 값을 watches에서 a의 값을 출력하시오.

즉, ​①에서 a의 값,  ②에서 a의 값, ③에서 a의 값을 1,2,3과 바꾸어 출력하면 됩니다.

#include <stdio.h>
#include <time.h>

int main()
{
    int a = 0;
    time_t now;
    struct tm tt;
    time(&now);
    tt = *localtime(&now);
    a = tt.tm_year;   // 1
    a += tt.tm_mon;   // 2
    a += tt.tm_mday;

    printf("%d %d %d\n", 1, 2, 3);  //3

    return 0;
}

 

해결 방번은 아래와 같습니다.

 

소스코드를 작성하고 빌드를 합니다. (에러가 없어야 디버깅이 됩니다.)

 

1. 아래 그림에서 붉은색 원의 step info 를 클릭합니다. 그럼 디버깅이 시작됩니다.

2. 디버깅이 시작되면 아래 그림처럼 노란색 삼각형(1)과 Watches(2)가 나타납니다.

만약 Watches가 없다면 아래 2-1 또는 2-2를 참고 하세요.

2-1. Watches 가 보이지 않는 경우 1 : 메뉴 > Debug > Debugging windows > Watches 클릭

2-2. Watches 가 보이지 않는 경우 2 : 디버깅 도구 모음에서 1, 2 클릭

3. 11행(3) 까지 run to cursor(1) 또는 next line(2)를 이용하여 이동합니다. 이동훈 watches에서 a의 값을 1(5) 자리에 입력 합니다.

4. 마찬가지로 next line(1)을 이용하여 12행(2) 으로 이동하여 watches 에서 a의 값(3)를 2(4) 자리에 입력 합니다.

 

5. 15행(3) 까지 next line(2)를 이용하여 이동하여 watches 에서 a의 값(3)를 3(5) 자리에 입력 합니다.

6. 붉은원의 'x' 아이콘을 클릭하여 디버깅을 종료 합니다.

7. 완성된 소스 코드를 제출 합니다.

Posted by 파이군
,