부모글 보이기/감추기 제목 짓기가 영 난감하군요. ^^; .NET으로 오면서 기존에 너무나 어렵게만 구현되던 것들이 쉽게 구현되는 것들이 많습니다. PDB 파일을 통한 디버깅 심벌을 처리해서 Crash 되는 모듈의 주소를 찾아내는 것 역시 .NET이 주는 혜택 중의 하나입니다. 이번 강좌에서는, PDB에 관한 이야기를 하나씩 풀어보도록 하겠습니다. 이야기 진행 순서는, 일단 생각나는 것만 다음과 같습니다. 쪼끔 기대가 되시려나? ^^ 1. PDB 파일에 따른 Debug 정보 - WinForm + Library 유형의 프로젝트 2. PDB 파일에 따른 Debug 정보 - .NET 2.0 Web Application Project + Library 유형의 프로젝트 3. PDB 파일에 따른 Debug 정보 - .NET 2.0 Web Site Model Project 4.1 VS.NET 2005 디버그 모드에서의 PDB 파일 사용 차이 (1) 4.2 VS.NET 2005 디버그 모드에서의 PDB 파일 사용 차이 (2) 5.1 VS.NET 2005를 이용한 미니덤프 파일 분석 (1) 5.2 VS.NET 2005를 이용한 미니덤프 파일 분석 (2) 6. WinDBG를 이용한 미니덤프 파일 분석 7. Microsoft의 PDB 파일 관리 8. Symbol Server 생성 9. PDB 파일과 소스 코드 10. CCP를 이용한 Windows Source Code 수준의 디버깅 11. 소스 서버 구성 12. GAC에 등록된 Assembly 디버그 13. [내용 예약] 14.1 ASP.NET 디버깅 환경 구성(1) 14.2 ASP.NET 디버깅 환경 구성(2) 15 ~ [x]. [미정] [부록 1] AppVerifier 사용법 [부록 2] VS.NET 2003/2005의 다중 프로젝트 디버깅 [부록 3] COM+ 서버 응용 프로그램에 대한 F5 디버깅 방법 [부록 4] .NET 예외 처리 정리 [부록 5] .VS.NET 원격 디버깅 [부록 6] 비스타/롱혼 - VS.NET 2005에서의 웹 애플리케이션 디버깅 설정 최종적으로 Symbol Server, Source Server 및 WinDBG까지도 다뤄보도록 하겠습니다. 설마 여기 있는 모든 정보를 제가 스스로 알아낸 것이라고 오해하시는 분들은 없으시겠지요! ^^ 여기 있는 정보들은 모두 다음과 같은 참고 자료를 통해서 얻을 수 있는 내용들입니다. 책: - Debugging Applications for Microsoft .NET and Microsoft Windows - 고급 개발자들만이 알고 있던 Windows 구조와 원리 그리고 Codes 웹 사이트: - BUGSLAYER - SOS: It's Not Just an ABBA Song Anymore ; https://docs.microsoft.com/en-us/archive/msdn-magazine/2003/june/bugslayer-sos-it-s-not-just-an-abba-song-anymore - BUGSLAYER - Mini Dump Snapshots and the New SOS ; https://docs.microsoft.com/en-us/archive/msdn-magazine/2005/march/bugslayer-mini-dump-snapshots-and-the-new-sos - SOS Ref Manual ; C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\Samples\sos\SOS.htm - .Net exceptions - Tracking down where in the code the exceptions occurred ; http://blogs.msdn.com/tess/archive/2006/05/18/601002.aspx - Visual Studio Debugger - Debugging in Visual Studio ; https://docs.microsoft.com/en-us/visualstudio/debugger/debugging-in-visual-studio?view=vs-2015 - Code Center Premium integration into Visual Studio ; https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-debug-with-code-center-premium-source?view=vs-2015 - Use the Microsoft Symbol Server to obtain debug symbol files ; https://docs.microsoft.com/en-us/windows/win32/dxtecharts/debugging-with-symbols ... 그 외 알게 모르게 읽었던 모든 자료들.(생각날 때마다 추가하겠습니다.) AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. (연관된 글이 1개 있습니다.) 11. 소스 서버 구성 "소스 서버"에 대한 설명은 잠시 미루도록 하겠습니다. 현재 소스 서버는 "Team Foundation Server"에 대한 지원이 없는 상태입니다. "Visual SourceSafe"는 지원됩니다. 개인적으로 회사 업무 전체가 TFS와 연계되기 때문에 그 부분에 대한 지원이 될 때까지 연기합니다. ^^ 대신에 "Visual SourceSafe"를 현재 사용하고 계신 분들은 흥미가 있으실 텐데요. 그분들은 제 토픽을 기다리지 마시고 ^^ 다음의 토픽을 참조하시면 소스 서버를 쉽게 구성하실 수 있을 것입니다. Use The Source, Luke - Source Server Helps You Kill Bugs Dead In Visual Studio 2005 ; https://docs.microsoft.com/en-us/archive/msdn-magazine/2006/august/source-server-helps-you-kill-bugs-dead-in-visual-studio-2005 만약에, 제가 VSS와 연계되는 프로젝트가 발생하게 되면 그때 한번 위의 토픽대로 해보고 시행착오가 있으면 올려 놓겠습니다. ^^ 아니면, 여러분들 중에서 글을 써주셔도 좋겠지요. ^^ [이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] 디버깅 기술: 5.12. CCP를 이용한 Windows Source Code 수준의 디버깅[이전 글] 디버깅 기술: 5.14. GAC 에 등록된 Assembly 디버그 [연관 글] 디버깅 기술: 5. PDB 이야기 [최초 등록일: 8/19/2006] [최종 수정일: 7/10/2021] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 2008-10-09 09시57분 TFS를 이용한 소스 서버 구성 - TFS Team Build + Source Server = 소스 코드 디버깅 ; http://www.sysnet.pe.kr/2/0/600 kevin25 ... 61 [62] 63 64 65 66 67 68 69 70 71 72 73 74 75 ... NoWriterDateCnt.TitleFile(s) 12389정성태11/1/202018720.NET Framework: 958. C# 9.0 - (8) 정적 익명 함수 (static anonymous functions)112388정성태10/29/202017735오류 유형: 674. 어느 순간부터 닷넷 응용 프로그램 실행 시 System.Configuration.ConfigurationErrorsException 예외가 발생한다면?12387정성태10/28/202018519.NET Framework: 957. C# - static 필드의 정보가 GC Heap에 저장될까요? [3]112386정성태10/28/202019275Linux: 34. 사용자 정보를 함께 출력하는 리눅스의 ps 명령어 사용 방법12385정성태10/28/202016600오류 유형: 673. openssl - req: No value provided for Subject Attribute CN, skipped12384정성태10/27/202018930오류 유형: 672. AllowPartiallyTrustedCallers 특성이 적용된 어셈블리의 struct 멤버 메서드를 재정의하면 System.Security.VerificationException 예외 발생12383정성태10/27/202019019.NET Framework: 956. C# 9.0 - (7) 패턴 일치 개선 사항(Pattern matching enhancements) [3]112382정성태10/26/202016765오류 유형: 671. dotnet build - The local source '...' doesn't exist12381정성태10/26/202018764VC++: 137. C++ stl map의 사용자 정의 타입을 key로 사용하는 방법 [1]112380정성태10/26/202014718오류 유형: 670. Visual Studio - Squash_FailureCommitsReset12379정성태10/21/202020305.NET Framework: 955. .NET 메서드의 Signature 바이트 코드 분석 [1]212378정성태10/15/202019255.NET Framework: 954. C# - x86/x64 환경에 따라 달라지는 P/Invoke 함수의 export 이름 [1]112377정성태10/15/202019687디버깅 기술: 172. windbg - 파일 열기 시점에 bp를 걸어 파일명 알아내는 방법(Managed/Unmanaged)12376정성태10/15/202015772오류 유형: 669. windbg - sos의 name2ee 명령어 실행 시 "Failed to request module list." 오류12375정성태10/15/202017295Windows: 177. 윈도우 탐색기에서 띄우는 cmd.exe 창의 디렉터리 구분 문자가 'Yen(¥)' 기호로 나오는 경우 [1]12374정성태10/14/202023201.NET Framework: 953. C# 9.0 - (6) 함수 포인터(Function pointers) [1]212373정성태10/14/202016965.NET Framework: 952. OpCodes.Box와 관련해 IL 형식으로 직접 코딩 시 유의할 점12372정성태10/13/202019377.NET Framework: 951. C# 9.0 - (5) 로컬 함수에 특성 지정 가능(Attributes on local functions)112371정성태10/13/202018269개발 환경 구성: 519. Visual Studio의 Ctrl+Shift+U (Edit.MakeUppercase) 단축키가 동작하지 않는 경우12370정성태10/13/202018476Linux: 33. Linux - nmcli를 이용한 고정 IP 설정12369정성태10/12/202022132Windows: 176. Raymond Chen이 한글날에 밝히는 윈도우의 한글 자모 분리 현상 [3]12368정성태10/12/202018233오류 유형: 668. VSIX 확장 빌드 - The "GetDeploymentPathFromVsixManifest" task failed unexpectedly.12367정성태10/12/202030734오류 유형: 667. Ubuntu - Temporary failure resolving 'kr.archive.ubuntu.com' [2]12366정성태10/12/202020087.NET Framework: 950. C# 9.0 - (4) 원시 크기 정수(Native ints) [1]112365정성태10/12/202018425.NET Framework: 949. C# 9.0 - (3) 람다 메서드의 매개 변수 무시(Lambda discard parameters)112364정성태10/11/202019411.NET Framework: 948. C# 9.0 - (2) localsinit 플래그 내보내기 무시(Suppress emitting localsinit flag)1 ... 61 [62] 63 64 65 66 67 68 69 70 71 72 73 74 75 ...