프로그래머들이 대부분의 시간을 사용하는 곳은 코딩이 아니고 오류를 제거하는 디버깅 작업이다.
그만큼 디버그를 잘 사용하는 것은 중요 한 일이다.
#include <stdio.h>
void say_hello(void); // prototyping, function declaration
int main()
{
int x, y, z;
x = 1;
y = 20;
z = 3;
z = x + y;
say_hello();
return 0;
}
void say_hello(void) // function definition
{
int x = 1;
x = 10;
printf("Hello, World\n");
return;
}
- say_hello함수의 변수정의를 찾고 싶으면 : say_hello 우클릭 - Go To Definition
- say_hello 함수에 있는 x와 main 함수에 있는 x는 이름만 같고 완전히 다른 존재다.
프로그래머 입장에서만 같은 이름 일 뿐 컴파일러에서는 전혀 다른 존재로 인식한다.
변수선언의 유효한 범위는 중괄호(scope, 블럭) 안에서만 유효하다.
디버거 사용 하는 법
1단계 : Break point를 설정해서 어디서부터 볼지 결정한다.
(어떤 유저들은 일단 디버거를 실행 시킨 후 런타임 에러가 일어난 곳을 찾는 경우도 있다.)
Break point(빨강 동그라미) : 선택을 하면 해당지점에서 디버그가 쉬어간다.
2단계 : 디버그 시작.
도구바 'Local Windows Debugger' 혹은 메뉴바 'Debug - Start Debugging(단축키 : F5')을 클릭한다.
화살표 표시 : 프로그램이 '화살표 있는 문장까지 실행 됐다'는 의미
3단계 : 문장 디버그를 통해 프로그램 상태 확인
(프로그램 안에서 현재 변수들의 어떤 값을 가지고 있는지는 '프로그램의 상태(Status)'라고 부른다.)
- 다음 문장 프로그램 상태 확인 하는 방법 : 메뉴바 Debug - Step Into(단축키 : F11)
다음 문장을 디버그 할 때마다 그 문장의 상태가 아래의 Autos창이나, 콘솔창에서 확인가능하다.
변수가 들어 있는 문장을 디버그 하면 Autos창에서 변수가 바뀌는 걸 확인 할 수 있고, 함수 문장을 디버그 하면 콘솔창에서 출력으로 확인 할 수 있다.
- 다음 문장 실행만 시키고 상태 확인 없이 그냥 지나가는 방법 : 메뉴바 Debug - Step Over(단축키 : F10)
'프로그래밍언어 > C언어' 카테고리의 다른 글
[C language] 읽기 좋은 코드를 만드는 요령 (0) | 2020.11.20 |
---|---|
[C language] 문법 오류와 문맥 오류 (0) | 2020.11.20 |
[C language] 함수 만들기 (0) | 2020.11.20 |
[C language] 주석 다는 방법 (0) | 2020.11.18 |
[C language] printf() 함수의 기본적인 사용법 (0) | 2020.11.14 |