본문 바로가기
코스웨어/13년 스마트컨트롤러

김성엽]Debug과정_정리

by 알 수 없는 사용자 2013. 3. 18.
728x90
반응형

Debug 과정 알아보기

 

▶디버깅이란 프로그램을 실행하는 중에 버그가 일어나는 부분을 쉽게 알아보기 위해서 IDE(통합개발환경) 내에 가지고 있는 기능이다. 디버깅중에는 흐름을 멈추고 순차적으로 한단계씩 볼수도있고, 변수값의 변화도 쉽게 확인할 수 있어서 편리하다.

 

 

                               

  <  간단한 소스를 통해 알아보자 >

 

 

1. Debug > Windows > Breakpoints ( Ctrl + Alt + B or F9 )

 ; 소스에 디버깅이 필요한 부분에 커서를 두고 Breakpoints 를 체크한다. 단축키를 이용하는 것이 편하다.

 

; 아래와 같이 빨간동그라미로 표시가 뜬다. (빨간동그라미 표시가 뜨는 부분을 클릭해도 가능)

              

2. 빨간동그라미가 생긴걸 확인하고 Debug > Start Debugging (F5) 를 통해서 디버깅을 시작한다.

 

3. Step Into (F11) 한줄씩 실행, 노란화살표가 뜬부분의 윗부분은 실행을 완료한 부분이다.

 (※ printf() 은 F11을 누르면 어셈블리어로 변환이 되므로 주의! F10을 이용하여 한 단을 넘기는게 좋다.)

 (※ Step over (F10) 반복문을 한번에 넘어 결과값을 알 수 있다. 예를 들어 상황에 따라 5천번의 반복문을 F11로 하기에는 비효율적이기 때문에 F10을 눌러 한 단을 넘기는 것이 필요 할 때도 있다.)

 

 

 

4. 디버깅 과정에서 Autos 를 통해 자동으로 띄우거나 Watch 를 통해서 수동적으로 작성자가 값을 지정하여 변수의 흐름을 확인 할 수 있다.

; 아래에서 확인 가능한 점은 &inum 의 주소와 inum의 자료형이 int 이며 안에 저장되어있는 값이 쓰레기 값이라는 것을 확인 할 수 있다.

 

 

 

5. 변수(여기서는 inum)가 저장되는 주소와 변수의 흐름, 값을 확인하려면 아래 Memory ( Ctrl + Alt + M  or Ctrl + 6 ) 창을 띄워 확인할 수 있다.  

 

 

 

 

; 주소 0x0034F738 에 int 형(4bit) 05 값이 저장되어 있다. 

 

 

 

 

; 변화를 확인 할 수 있다.

 

 

 

(※ 저장하는 방식을 확인해야한다. 빠른 연산을 위해서 CPU가 메모리에 앞부분부터 저장하게 하거나 빠른 대수비교를 위해서 CPU가 뒷 부분부터 저장하게 하는 방식이 있다. 어떤 것이 좋다는 기준은 없고, 각각 상황에 따라 좋고 나쁠수 있다.)

 

 

6. 디버깅을 끝내려면 Shift + F5 (Stop Debugging) 를 누르면 디버깅을 멈출수 있다.

 

728x90