System.Text.dll 과 같은 시스템 dll 디버깅 방법을 소개해 드리도록 하겠습니다.
vs 2005 debugging 방법을 이번 포스트에서 소개 해 드리고 다음번에 2008 방법을 소개해 드리도록 하겠습니다.
사용해 본 결과 vs 2005는 까다롭고 *_*;;
vs 2008은 엄청나게 쉽습니다. *_*;;
Google Search 결과 CodePlex에서 NetMassDownloader 라는 프로젝트로 진행되어서 있더군요 *_*;;
영어가 짧아서 자세한 건 잘 모르지만서도 *_*;
여기에서 아래와 같은 방법으로 vs 2005, 2008을 동일하게 작업 하실 수 있습니다.
http://netmassdownloader.codeplex.com/
저는 Feature Release 1.5.0.1 이놈을 다운 받아서 진행하였습니다.
좌측에 보이는 Downloads 를 통하여 직접 다운 받았습니다.
다운 받아서 압축을 풀어 보시면 아래와 같이 생겨 있습니다.
도움말도 포함되어 있구요 *_*
캡쳐 화면을 자세히 보시면 스펨신고라고 나오는데요 *_*;;;;;;;;;;;;;;;;;
이놈이 제가 windows server 2008 R2를 사용하고 있는데.. 저런 식으로 잔상이 낳아 있어요 *_*;;
이거 없애는 방법 아시는 분 가르쳐 주세요. 왜 생기는 지도 모르겠고요 *_*;;;;;;;
명령프롬프트를 통해서 지금 압축이 풀어져 있는 디렉토리로 들어오셔도 되고 아니면 해당 경로를 입력하셔도 됩니다.
NetMassDownloader.exe 를 실행시키려고 하는 것입니다. *_*
그리고 아래와 같은 명령어를 입력하시면 됩니다.
NetMassDownloader.exe -d "C:\Windows\Microsoft.NET\Framework64\v2.0.50727" -output "D:\ReferenceSource" NetMassDownloader.exe -d "C:\Windows\Microsoft.NET\Framework\v2.0.50727" -output "D:\ReferenceSource"
위와 같이 입력하시면 됩니다. *_*
이렇게 압축이 자동으로 풀립니다.
어마어마한 파일들이 있는 관계로 시간이 좀 많이 걸립니다. *_*
대략 한 시간 정도 걸린 것 같습니다. 우웩
도구 –> 옵션 –> 디버깅
위의 이미지에서 아래와 같이 변경되어야 합니다.
기호로 넘어가셔서 추가 되어야 합니다.
기호 파일(.pdb) 위치(L): 에 폴더를 클릭하셔서 압축을 푼 디렉토리로 설정하시면 됩니다.
“D:\ReferenceSource”
확인을 선택하게 되면 아래와 같이 나타납니다.
설정은 이제 끝났습니다.
이제 직접 디버깅을 해 보도록 하겠습니다.
반듯이 기호 로드를 먼저 하셔서 기호를 로드 하신 후 작업하셔야 됩니다.
기호를 로드 하는 방법은 두 가지가 있습니다.
첫 번째는 Ctrl + Alt + U를 선택하셔서
원하는 Dll에 기호 로드를 선택하시면 됩니다.
이왕이면 mscorlib.dll 에 기호로드를 선택하시면 좋을 것 같습니다.
로그하게 되면 아래와 같이 기호파일이 선택한 경로로 설정 되는 것을 볼 수 있습니다.
디버깅을 원하는 dll에 기호를 로드하셔야 소스를 확인 할 수 있습니다.
그리고 아래와 같이 연결하는 방법도 있으나 좀더 디테일하게 디버깅이 되지 않아 아래 방법은 권장 하지 않습니다.
디버깅할 호출 스택을 선택하고 기호 로드를 선택하게 됩니다.
자 그럼 직접 디버깅을 걸어 보도록 하겠습니다.
StringBuilder를 디버깅하려면 System.dll에 기호가 로드 되어 있어야 됩니다.
기호를 로드하게 되면 최초에 아래와 같은 확인 창이 나타나게 됩니다.
최초 한번만 나타나고 그 다음에는 나타나지 않습니다. *_*;;
보안 경고 메시지가 나타나는데 dll을 처음 로드 할때마다 실행됩니다. *_*;;
예.. 저는 연결하였습니다.
이렇게 디버깅이 가능합니다.
어떻게 보면 소스를 확인하는 것 밖에 되지 않습니다.
헌데 어떤 식으로 코드가 짜여져 있는지 확인 할 수 있으니 참 좋은 것 같습니다.
좀 더 열심히 공부해야겠군요 *_*;;
그리고 최적화된 코드를 앞으로는 짤 수 있을 듯 한데.. ㅋㅋ
'CSharp > Development' 카테고리의 다른 글
Reading dates from OpenXml Excel files (0) | 2011.05.12 |
---|---|
.NET Framework 버전 별 새로운 기능 (0) | 2011.03.23 |
Visual Studio 2010 and .NET Framework 4 Training Kit (2) | 2011.01.19 |
FileInfo를 이용한 FileStream, StreamWrite, StreamReader 이용 (0) | 2010.01.15 |
Xml Xslt Transform with C# (0) | 2009.01.13 |