성태의 닷넷 이야기
홈 주인 모아 놓은 자료 프로그래밍 질문/답변 사용자 관리
RSS OPML Link
사용자
계정
암호
사용자 등록
메뉴

웹 사이트 배너 링크
[디버깅 기술] Debug Features : 3.10 CCP 를 이용한 Windows Source Code 수준의 디버깅
조회: 1200
글쓴 사람: 정성태 (kevin13@chol.net)
홈페이지: http://www.sysnet.pe.kr
첨부 파일:
부모글 보이기/감추기
10. CCP 를 이용한 Windows Source Code 수준의 디버깅

사실, 이 부분은 .NET 개발자 보다는 VC++ 개발자들에게 솔깃한 내용일 것 같습니다. ^^
예전에 제가 한번 소개를 드렸었지요.

Code Center Premium integration into Visual Studio

만약, 여러분이 Microsoft 의 MVP 에 선발되신 분이라면 CCP(Code Center Premium)에 신청할 수 있는 자격이 이미 있는 것입니다.
MVP 웹 사이트에 자세한 설명이 있으니 그것을 참고하셔서 CCP 신청을 하면 보안을 위한 Smart Card 를 받을 수 있습니다.
CCP 자격은 MVP 자격이 유효한 경우에만 가능하기 때문에, MVP 재선출에 실패한 경우에는 자동으로 CCP 자격도 상실하게 됩니다.

음... 이런 딱딱한 이야기는 그만 두고 그냥 간단한 예를 한번 들어볼까요? ^^

	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon

	::MessageBox( NULL, L"TEST", L"QWER", MB_OK );

위와 같은 코드를 C++ 로 작성한 경우, 기존에는 MessageBox 내부의 코드는 볼 수가 없었습니다. 당연하겠지요 ^^ 소스 코드가 없으니. (물론, assembly 수준의 진입은 가능하지만.)

하지만, CCP 소스 코드에 대한 설정을 하고 나면, MessageBox 코드에서 "F11" 키를 누르는 경우 CCP 웹 사이트에서 소스 파일을 가져와서 그 안으로 디버깅이 진입하게 됩니다. 우와~~~~ ^^ 대단하지요. 좀더 자세하게 소스 코드 레벨 디버깅까지 하는 모습을 보여드리고 싶지만, 아쉽게도 NDA 서명에 의해 그러한 부분을 보여드릴 수가 없어서 안타깝습니다.

저 같은 경우, 운영 체제가 Windows 2003 R2 인데요. 쩝... ^^ 실제로 해보니, 소스 코드 라인 정보까지 맞지는 않아서 실제 MessageBox 함수 코드의 근처에서 BP 가 헤매는 현상이 있었습니다.
그래도 ^^ 어쨌든 대단한 가능성이 열린 것 같아서 개인적으로 매우 흥미로웠습니다.



이번 회는 NDA 계약 사항에 의해 더 이상 보여드릴 수가 없군요. ^^ 어쨌든, 중요한 것은 Microsoft 가 이미 디버깅시에 PDB 파일과 함께 소스 코드에 대한 연동 방법을 제공해 주고 있다는 점인데요. 여러분들도 이러한 소스 코드에 대한 연동 방법을 제공할 수 있도록 Microsoft 는 "Debugging Tools for Windows" 에 Source Server 관련한 기능을 포함해서 배포해 주고 있습니다.

그럼, 다음 회에는 "Source Server" 에 대해서 알아 봐야 할 차례이군요. ^^




[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]
[최초 등록일: 2006-09-08 ]
[최종 수정일: 2007-03-06 ]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

비밀번호 : 수정 답변 목록

댓글 쓴 사람:  


번호작성자작성일조회제목첨부
921 정성태 2010-09-02 16 DDK: 2. Device Driver 응용 프로그램의 빌드 스크립트 파일 다운로드 1
920 정성태 2010-09-01 26 오류 유형 : 105. WMI - The RPC server is unavailable [1]
919 정성태 2010-08-30 58 DDK: 1. Visual Studio 2010 - Device Driver 제작- Hello World 예제 파일 다운로드 1
918 정성태 2010-08-28 39 개발 환경 구성: 85. Hyper-V의 네트워크 유형 (3)
917 정성태 2010-08-28 57 개발 환경 구성: 84. "Routing and Remote Access"의 "Routing" 기능 활성화 방법
916 정성태 2010-08-25 53 개발 환경 구성: 83. 가상 네트워크에 LAN 어댑터 보이거나 감추는 방법
915 정성태 2010-08-24 38 개발 환경 구성: 82. Hyper-V의 네트워크 유형 (2)
913 정성태 2010-08-22 46 오류 유형 : 104. Hyper-V 관리자 - VM 생성 오류 (VHD 생성 오류)
912 정성태 2010-08-20 56 .NET : 51. 구조체 포인터 인자에 대한 P/Invoke 정의 파일 다운로드 1
911 정성태 2010-08-19 56 오류 유형 : 103. System.Reflection.TargetException 파일 다운로드 1
910 정성태 2010-08-18 60 개발 환경 구성: 81. Hyper-V의 네트워크 유형 (1)
909 정성태 2010-08-17 48 오류 유형 : 102. System.MissingMethodException
908 정성태 2010-08-16 79 개발 환경 구성: 80. Windows Virtual PC 의 네트워크 유형 (3)
907 정성태 2010-08-16 92 개발 환경 구성: 79. Windows Virtual PC 의 네트워크 유형 (2)
906 정성태 2010-08-16 126 개발 환경 구성: 78. Windows Virtual PC 의 네트워크 유형 (1)
905 정성태 2010-08-08 113 TFS : 35. 배치 파일로 팀 빌드 구성 [2] 파일 다운로드 1
904 정성태 2010-08-07 86 오류 유형 : 101. SignTool Error: No certificates were found that met all the given criteria.
903 정성태 2010-08-06 84 TFS : 34. TFS 소스 코드 관리 기능 (4) - Branch
902 정성태 2010-08-05 91 TFS : 33. TFS 2010의 소스 서버 수작업 구성
901 정성태 2010-08-04 108 TFS : 32. TFS 소스 코드 관리 기능 (3) - Label
900 정성태 2010-08-03 124 TFS : 31. TFS 소스 코드 관리 기능 (2) - Shelveset
899 정성태 2010-08-03 147 TFS : 30. TFS 소스 코드 관리 기능 (1) - Changeset
898 정성태 2010-07-31 85 NET 3.0 : 58. WCF 의 InactivityTimeout [1] 파일 다운로드 1
897 정성태 2010-07-25 101 .NET : 50. AssemblyVersion, AssemblyFileVersion, AssemblyInformationalVersion [2]
896 정성태 2010-07-24 146 .NET : 49. C# Singleton 인스턴스 생성
1 2 3 4 5 6 7 8 9 10 ...
 
Validate CSS for compliancy with web standards  
이 사이트에 게재된 문서는 어떤 보증도 포함하지 않습니다.
Google 검색어를 입력하십시오. 검색양식 제출