본문 바로가기

프로그래밍 활용(TIP)

[디버깅 TIP] 조건을 활용한 디버깅 방법

반복적으로 호출되어 디버깅에 상당히 어려움이 있는 경우에 활용가능한 팁을 소개한다.

바로 중단점(브레이크 포인트)의 조건을 활용하여, 해당 조건이 일치할 경우에 디버깅을 하는 방법이다.

 


 

int _tmain(int argc, _TCHAR* argv[])
{
 int i;

for(i=0; i<1000; i++)
 {
  //반복 루프 수행 중 500번째 반복됐을때 값을 알고 싶을때..
  a = ( a * 3 -20 ) * 2;
 }

 return 0;
}

 


위와 같은 코드에서 i 가 500이 되었을때 루프내 값을 알고 싶다면 500번의 루프를 돌리던지, 코드에 if(i == 500) 과 같은 코드를 삽입해서 브레이크를 거는 방법이 있다.

하지만 VS에는 중단점에서 조건을 체크하는 기능을 따로 제공되기때문에 잘 활용하면 위와같은 고생은 안할 수 있다.

 


[중단점] 창 활성화

위와 같이 중단점 창을 활성화 시키면, 아래에 중단점이라는 탭이 추가되게 된다.

 


[중단점] 탭을 누르면 중단점을 찍은곳의 위치가 표시된다.

해당 중단점에 마우스 우클릭 -> [조건]을 눌러 조건 창을 활성화 시킨다.


[중단점 조건]

해당 조건창에서 위와 같은 조건을 기입하여 중단점 조건을 지정해주고, 참인 경우로 라디오버튼을 체크해두고 확인을 눌러서 디버깅해보자.

정확하게 i 가 500일때 중단점에서 멈출것이고 디버깅을 손쉽게 할수 있다.
단 중단점을 잘못 지정하면 디버깅 성능저하 또는, 조건을 잘못 줄 경우 제대로 된 디버깅이 안될수 있으니 참고하자.