Microsoft MVP성태의 닷넷 이야기
디버깅 기술: 22. VS.NET SP1 + .NET Framework 소스 코드 디버깅 [링크 복사], [링크+제목 복사],
조회: 32027
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
(연관된 글이 3개 있습니다.)
(시리즈 글이 15개 있습니다.)
디버깅 기술: 22. VS.NET SP1 + .NET Framework 소스 코드 디버깅
; https://www.sysnet.pe.kr/2/0/623

개발 환경 구성: 112. Visual Studio 2010 - .NET Framework 소스 코드 디버깅
; https://www.sysnet.pe.kr/2/0/1009

디버깅 기술: 47. .NET Reflector를 이용한 "소스 코드가 없는" 어셈블리 디버깅
; https://www.sysnet.pe.kr/2/0/1201

개발 환경 구성: 143. Visual Studio 2010 - .NET Framework 소스 코드 디버깅 - 두 번째 이야기
; https://www.sysnet.pe.kr/2/0/1243

개발 환경 구성: 297. 소스 코드가 없는 닷넷 어셈블리를 디버깅할 때 지역 변숫값을 확인하는 방법
; https://www.sysnet.pe.kr/2/0/11036

개발 환경 구성: 391. (GitHub 등과 직접 연동해) 소스 코드 디버깅을 쉽게 해 주는 SourceLink
; https://www.sysnet.pe.kr/2/0/11630

VS.NET IDE: 126. 디컴파일된 소스에 탐색을 사용하도록 설정(Enable navigation to decompiled sources)
; https://www.sysnet.pe.kr/2/0/11689

VS.NET IDE: 145. NuGet + Github 라이브러리 디버깅 관련 옵션 3가지 - "Enable Just My Code" / "Enable Source Link support" / "Suppress JIT optimization on module load (Managed only)"
; https://www.sysnet.pe.kr/2/0/12200

VS.NET IDE: 149. ("Binary was not built with debug information" 상태로) 소스 코드 디버깅이 안되는 경우
; https://www.sysnet.pe.kr/2/0/12278

개발 환경 구성: 500. (PDB 연결이 없는) DLL의 소스 코드 디버깅을 dotPeek 도구로 해결하는 방법
; https://www.sysnet.pe.kr/2/0/12281

VS.NET IDE: 153. 닷넷 응용 프로그램에서의 "My Code" 범위와 "Enable Just My Code"의 역할
; https://www.sysnet.pe.kr/2/0/12401

VS.NET IDE: 170. Visual Studio에서 .NET Core/5+ 역어셈블 소스코드 확인하는 방법
; https://www.sysnet.pe.kr/2/0/12880

VS.NET IDE: 177. 비주얼 스튜디오 2022를 이용한 (소스 코드가 없는) 닷넷 모듈 디버깅 - "외부 원본(External Sources)"
; https://www.sysnet.pe.kr/2/0/13109

VS.NET IDE: 180. Visual Studio - 닷넷 소스 코드 디버깅 중 "Decompile source code"가 동작하는 않는 문제
; https://www.sysnet.pe.kr/2/0/13247

VS.NET IDE: 189. Visual Studio - 닷넷 소스코드 디컴파일 찾기가 안 될 때
; https://www.sysnet.pe.kr/2/0/13554





VS.NET SP1 + .NET Framework 소스 코드 디버깅


예전에 .NET Framework 소스 코드 디버깅이 가능하다는 소식이 있었죠. 근데, VS.NET 2008 SP1을 설치하면 아예 소스 코드 디버깅에 대한 옵션이 아래와 같이 추가되었습니다.

[그림 1: SP1에 새로 추가된 "Enable .NET Framework source stepping(.NET Framework 소스 단계별 실행 사용)" 옵션]
enable_netframework_source_stepping_sp1_option_2.PNG

"Enable Just My Code(Managed only)" 옵션과 "Enable source server support"는 원래 제공이 되었는데, 새롭게 "Enable .NET Framework source stepping" 옵션이 추가된 것입니다.

해당 옵션을 켜고, "확인" 버튼을 누르게 되면 아래 화면과 같이 곧바로 프로젝트가 참조하고 있는 .NET 어셈블리의 PDB 파일을 다운로드 받습니다.

[그림 2: 디버그 심벌 파일 다운로드]
enable_netframework_source_stepping_sp1_option_3.PNG

그런 후, 닷넷 소스 코드로 진입할 만한 코드에서 "F11 (Step Into)" 키를 누르면 다음 화면과 같이 라이선스 동의 창이 뜨고 확인을 누르면 됩니다.

[그림 3: 라이선스 동의]
enable_netframework_source_stepping_sp1_option_4.PNG

와... 그래서 아래와 같이 ^^ 닷넷 소스 코드로 진입을 하게 되었습니다.

[그림 4: 닷넷 소스 코드 진입]
enable_netframework_source_stepping_sp1_option_5.PNG

이젠, 옵션 설정 하나만으로 닷넷 소스 코드 디버깅이 가능해졌습니다. ^^


참고로, 첨부된 텍스트 파일은 위의 [그림 3]에서 나왔던 라이선스 동의에 대한 전문을 복사한 것입니다.

.NET Core/5+ 소스 코드
; https://source.dot.net/

.NET Framework 소스 코드
; https://referencesource.microsoft.com/




[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 10/6/2021]

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

비밀번호

댓글 작성자
 



2015-06-03 10시02분
이미지가 아쉽네요. 서버 옮기시다가 누락되셨을까요?
Beren Ko
2015-06-03 10시03분
음? 엑박으로 보이다가 다시 보니 또 나오는...^^ 감사히 잘 보겠습니다.
Beren Ko

... 151  152  153  [154]  155  156  157  158  159  160  161  162  163  164  165  ...
NoWriterDateCnt.TitleFile(s)
1263정성태3/9/201225634개발 환경 구성: 148. tinyget 사용법
1262정성태3/8/201246503개발 환경 구성: 147. .keystore 파일에 저장된 개인키 추출 방법과 인증기관으로부터 온 공개키를 합친 pfx 파일 만드는 방법 [1]
1261정성태3/7/201226911Phone: 2. 개발자용 윈도우 폰 7 기기 등록하는 방법
1260정성태3/6/201227235Phone: 1. 윈도폰 7 개발자 (회사) 등록하는 방법 [3]
1259정성태3/4/201238782Windows: 57. 새로 추가된 네트워크 커널 디버깅 및 PowerShell 3.0 [1]
1258정성태3/3/201240261개발 환경 구성: 146. SQL Server 2012에 포함된 LocalDB 기능 소개 [3]파일 다운로드1
1257정성태3/3/201228703.NET Framework: 312. Native 스레드와 Managed 스레드 개체의 상태 관계 [1]파일 다운로드1
1256정성태3/3/201231986Math: 5. Euler's totient function - C#파일 다운로드1
1255정성태3/3/201234151Math: 4. 소수 판정 및 소인수 분해 소스 코드 - C# [1]파일 다운로드1
1254정성태3/1/201229631Windows: 56. Windows 8 Consumer Preview를 사용해 보고... [1]
1253정성태3/1/201231015VS.NET IDE: 71. Visual Studio 11 Ultimate 베타 설치 [3]
1252정성태3/1/201228202Windows: 55. 윈도우 8 베타 설치 과정 [1]
1251정성태2/27/201232010VC++: 60. C/C++ Native 스레드 콜 스택 덤프를 얻는 공개 라이브러리 [2]파일 다운로드1
1250정성태2/27/201234501VC++: 59. C/C++ 프로젝트 빌드 속도 개선 - UnityBuild를 아세요? [3]
1249정성태2/26/201234572.NET Framework: 311. .NET 스레드 콜 스택 덤프 (5) - ICorDebug 인터페이스 사용법 [2]파일 다운로드3
1248정성태2/25/201245396.NET Framework: 310. C#의 Shift 비트 연산 정리파일 다운로드1
1247정성태2/25/201228226.NET Framework: 309. .NET 응용 프로그램에 기본 생성되는 스레드들에 대한 탐구 [1]파일 다운로드1
1246정성태2/25/201227527개발 환경 구성: 145. 한영 변환은 되지만, 정작 한글 입력이 안되는 경우
1245정성태2/25/201238571개발 환경 구성: 144. 윈도우에서도 유닉스처럼 명령행으로 원격 접속하는 방법
1244정성태2/24/201235678.NET Framework: 308. .NET System.Threading.Thread 개체에서 Native Thread Id를 구할 수 있을까? [1]파일 다운로드1
1243정성태2/23/201235638개발 환경 구성: 143. Visual Studio 2010 - .NET Framework 소스 코드 디버깅 - 두 번째 이야기 [1]
1242정성태2/20/201242223VC++: 58. API Hooking - 64비트를 고려해야 한다면? EasyHook! [7]파일 다운로드1
1241정성태2/20/201228708.NET Framework: 307. .NET 4.0 응용 프로그램을 위한 ILMerge
1240정성태2/19/201235356디버깅 기술: 48. C/C++ JNI DLL을 Visual Studio로 디버깅하는 방법 [2]
1239정성태2/19/201226939.NET Framework: 306. 컴퓨터에 실행된 프로세스 중에 닷넷 응용 프로그램임을 알 수 있는 방법 - C# [1]파일 다운로드1
1238정성태2/19/201231387.NET Framework: 305. GetPrivateProfileSection / WritePrivateProfileSection의 C# 버전파일 다운로드1
... 151  152  153  [154]  155  156  157  158  159  160  161  162  163  164  165  ...