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.
"Win32 API" 카테고리의 다른 글
- 함수 링크 순서 정해주기 (0)2006/12/04
- 어플리케이션 모드에서 인자값 처리 (0)2006/12/01
- Watch 창에서 함수 실행하기 (0)2006/12/01
- 로컬 폴더에 있는 dll 사용하게 만들기 (0)2006/12/01
- VB로 작성한 DLL을 VC에서 호출하는 방법 (0)2006/12/01

수안이의 컴퓨터 연구실



Leave your greetings.