2010년 3월 8일 월요일

Windbg에서 소스 파일상에서 디버깅하기 위한 ActiveX 컴포넌트 프로젝트 셋팅 방법

HOW TO: Windbg에서 소스 파일상에서 디버깅하기 위한 ActiveX 컴포넌트 프로젝트 셋팅 방법

기술 자료 ID : 601906
마지막 검토 : 2005년 7월 6일 수요일
수정 : 2.0

이 문서는 이전에 다음 ID로 출판되었음: KR601906

요약

여기에서는 MTX 컴포넌트나, ISAPI 컴포넌트를 실제 환경에서 WINDBG 디버깅 시 소스 파일 디버깅이 가능하도록 프로젝트를 셋팅하는 방법을 설명합니다.

추가 정보

디버깅을 원하는 ActiveX 컴포넌트의 프로젝트를 열고 다음 작업을 합니다.

1.

메뉴에서 [Project]-[Setting]을 선택하면 [Project Settings] 대화 상자가 보여집니다.

 

2.

[Project Settings] 대화 상자에서 [General] 탭- [Output directories]에서 [Intermediate files]와 [Output files]에 다음과 같이 디렉터리의 완전한 경로명을 기록해줍니다.

 

[Intermediate files]
c:\demo\ReleaseinDependency
[Output files]
c:\demo\ReleaseinDependency
3.

[C/C++] 탭에서 [Category]항목에 [General]이 선택된 화면에서 [Debug Info] 항목에 [Program Database]를 선택합니다.

 

4.

[Link] 탭에서 [Category]항목에 [Debug]이 선택된 화면에서 [Debug Info] 항목에서 [Debug Info] 체크박스를 체크한 뒤 [Both Format]의 라디오 버튼을 선택합니다.

 

5. 이제 Debug 정보를 포함한 DLL 파일과 PDB 파일이 만들어 졌으므로 DLL 파일에서 DBG 파일을 분리해야 합니다.
다음의 Dumpbin 명령으로 Image Base를 알아냅니다.
Dumpbin /Headers demo.dll
10000000 image base

Rebase를 이용하여 demo.dbg 파일이 현재 디렉터리의 \symbols\dll 디렉터리에 만들어 집니다.

 

Rebase -b 10000000 -x .\symbols\dll demo.dll
 
6. 자, 이제 필요한 모든 Setting이 완료되었으므로 심볼 파일은 %WINDIR%\SYMBOLS 디렉터리에 위치시키고, Windbg를 이용하여 디버깅하면 됩니다.

본 문서의 정보는 다음의 제품에 적용됩니다.
Microsoft Visual C++ 6.0 서비스 팩 5

댓글 없음:

댓글 쓰기