디버거로 프로그램 실행 도중 변수 값 조정 방법
디버거로 프로그램 실행 도중 변수 값 조정 방법
작성자 : 최흥배 ( jacking75@gmail.com )
이 기법은 “Game Coding Complete ”라는 책에서 디버깅 기법 중 하나로 소개되고 있는 기법으로 프로그램을 디버깅 모드로 실행하면서 어떤 변수의 값을 변경하 여그 결과를 바로 알고 싶을 때 아주 좋다.
일반적으로 UI 작업 같은 것을 해보면 컨트롤 등의 위치를 바르게 잡기 위해 위치 값을 변경하면서 컴파일->실행->수정->컴파일 단계를 반복하면서 정확한 값을 알아내기 때문에 상당한 시간과 짜증이 유발 된다.
이이외에 데이터 주도방식으로 프로그래밍 해도 되지만 이것도 데이터변경->실행 단계를 계속 반복 해야 되기 때문에 UI 노가다 작업이 만만치 않을 것이다.
그러나 지금 소개하는 기법을 사용하면 아주 손쉽고 바로 그 결과를 알 수 있다.
이 기법을 사용 하려면 static 변수를 사용하여 디버깅 시 static 변수를 사용하는 부분에 브레이크 포인트를 걸고 변수를 조정하면 된다.
위의 그림을 보면 static 변수 nn0에 값을 설정 한 후 이 값을 사용하는 280 라인에 브레이크 포인트를 걸어 놓는다.
그런 후 디버깅 시에 280 라인에서 프로그램이 멈추면 디버깅 창의 “자동(Watch) ”창에서 nn0 변수를 찾은 후 값을 원하는 값으로 변경한다.
nn0의 값은 원래는 53 이었으나 이제 60으로 변경 되어 이후 60으로 설정 되어 프로그램에서 사용된다.
위 그림의 코드를 보면 알겠지만 위 코드는 화면에 글자를 찍기 위한 코드인데 화면에서 글자를 찍을 때 위치에 맞게 하기 위해서 x,y 좌표를 변경하면서 결과를 바로 보기 때문에 아주 빠르고 쉽게 작업이 된다.
출처 : http://jacking.tistory.com/301
'Tip & Tech' 카테고리의 다른 글
프로그램의 설계시에 알아야 할 좋은 코딩 습관 (0) | 2011.05.22 |
---|---|
메모리 릭 잡기 (0) | 2011.05.09 |
Tortoise SVN Client 에서 아이디 비밀번호를 변경하고 싶은데요.. (0) | 2011.04.22 |
DLL 사용한다면 참고하세요 (0) | 2011.04.19 |
미들웨어 정리 (0) | 2011.04.13 |