원본 : http://www.debuglab.com/knowledge/watchfunc.html
1.요약
아시는 분은 다 아시겠지만, watch 창에서는 함수를 실행시킬 수 있습니다.
하지만 그 사실을 안다다고, 모든 분이 활용하는 것 같지는 않습니다.
아주 간단하고 쓸모있는 예를 들어드리겠습니다.
2.본문
아주 간단한 다음의 단계를 밟으시면 됩니다.
우선은 MFC 를 사용해서 SDI 혹은 MDI 프로젝트를 생성합니다 .
(혹은 기존의 것을 사용하셔도 무방합니다)
CDocument-derived 클래스의 Dump 함수에 적당한 내용을 출력하도록 코드를 넣어둡니다. 예를 들어서
다음으로 프로그램을 시작하고(go!) 그 클래스의 아무 함수나 중간에 브레이크 포인트를 걸어둡니다.
( 함수의 시작부분 - 스택 프레임이 생성되기 전 - 은 곤란합니다)
자.. 이제 디버거가 적당한 부분에서 멈췄습니까?
이제는 watch 창을 띄우세요.
(이미 띄우셨군요..)
watch 창에 다음과 같이 적습니다.
끝입니다.
3.예제
4.참고
Debugging Windows Programs, Strategies, Tools, and Techniques for Visual C++ Programmers p. 137 and chap 7.
Debugging Windows Application.
- 2001.08.13 Smile Seo -
1.요약
아시는 분은 다 아시겠지만, watch 창에서는 함수를 실행시킬 수 있습니다.
하지만 그 사실을 안다다고, 모든 분이 활용하는 것 같지는 않습니다.
아주 간단하고 쓸모있는 예를 들어드리겠습니다.
2.본문
아주 간단한 다음의 단계를 밟으시면 됩니다.
우선은 MFC 를 사용해서 SDI 혹은 MDI 프로젝트를 생성합니다 .
(혹은 기존의 것을 사용하셔도 무방합니다)
CDocument-derived 클래스의 Dump 함수에 적당한 내용을 출력하도록 코드를 넣어둡니다. 예를 들어서
dc << "자.. 덤프 합니다... 시~작!! \n";과 같이 할 수 있겠죠.
다음으로 프로그램을 시작하고(go!) 그 클래스의 아무 함수나 중간에 브레이크 포인트를 걸어둡니다.
( 함수의 시작부분 - 스택 프레임이 생성되기 전 - 은 곤란합니다)
자.. 이제 디버거가 적당한 부분에서 멈췄습니까?
이제는 watch 창을 띄우세요.
(이미 띄우셨군요..)
watch 창에 다음과 같이 적습니다.
{,,mfc42d.dll}AfxDump((const CObject*){*}this) 그리고 엔터를 누르시면, 객체가 덤프되죠? 끝입니다.
3.예제
4.참고
Debugging Windows Programs, Strategies, Tools, and Techniques for Visual C++ Programmers p. 137 and chap 7.
Debugging Windows Application.
- 2001.08.13 Smile Seo -
"Debugging" 카테고리의 다른 글
- Set Next Statement 를 통해서 디버깅 하기 (0)2007/03/23
- 파일로 트레이스 하도록 바꾸기 (3줄이면 됨) (0)2007/03/21
- Watch 창에서 함수 실행하기 (0)2007/03/21
- 소스로 바로가는 TRACE (0)2007/03/19
- LastError를 보여주는 Debugging Trace Macro (0)2007/03/05
Tags Watch

수안이의 컴퓨터 연구실



Leave your greetings.