Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Visual Studio에서 Attach 메서드를 이용해 디버깅을 시작한 경우 Breakpoint가 안 잡힌다면?

BP가 안잡힌다면 우선 확인할 것은 "Modules" 창에서 Symbol이 제대로 로드되었는지 확인하는 것입니다. (거의 99%는 심벌 로드에 실패한 경우입니다.)

일례로, 다음과 같이 나올 수가 있는데요.

no_symbol_binding_1.png

"
Skipped loading symbols for NGen binary.

This module is a pre-compiled binary created by the ngen.exe tool. The debugger does not attempt to load symbols for these binaries, but will instead load symbols for original dll/exe when it is loaded by the .NET Runtime.
"


메시지가 참 희한하긴 하지만, 이런 경우는 Attach 메서드로 붙인 디버거의 엔진이 해당 응용 프로그램과 맞지 않는 경우에 발생합니다. 예를 들어, .NET 응용 프로그램인데 EnvDTE80.Process2의 Attach 실행은 내부적으로 "Native" 타입으로 선택되었을 때 이런 현상이 나옵니다.

이를 해결하기 위해서는 "Managed" 타입의 디버거 엔진을 명시적으로 지정해 주어야 합니다. 이럴 때 사용하는 것이 Attach2 메서드입니다. 구체적인 사용법은 AttachToW3WP 소스코드를 참고하세요. ^^

AttachToW3WP 
; https://github.com/stjeong/AttachToW3WP

Visual Studio 확장 도구 AttachToW3WP - w3wp.exe에 대한 디버거 연결을 자동화
; https://www.sysnet.pe.kr/2/0/1523






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







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

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

비밀번호

댓글 작성자
 




... 121  [122]  123  124  125  126  127  128  129  130  131  132  133  134  135  ...
NoWriterDateCnt.TitleFile(s)
10905정성태2/24/201623738오류 유형: 321. Hyper-V The operation failed with error code '32791'.
10904정성태2/23/201620874.NET Framework: 552. 인터프리터 - 역폴란드 표기법을 이용한 식의 분석 - C# 예제파일 다운로드1
10903정성태2/22/201621609.NET Framework: 551. 인터프리터 어휘 분석 프로그램 - C# 예제파일 다운로드1
10902정성태2/22/201621620.NET Framework: 550. GetFunctionPointer 호출 시 System.InvalidProgramException 예외 발생
10901정성태2/20/201624358.NET Framework: 549. ContextBoundObject 상속 클래스와 System.Reflection.ReflectionTypeLoadException 예외 [4]파일 다운로드1
10900정성태2/19/201623322.NET Framework: 548. Linq는 결국 메서드 호출! [3]파일 다운로드1
10899정성태2/17/201624725개발 환경 구성: 282. kernel32.dll, kernel32legacy.dll, api-ms-win-core-sysinfo-l1-2-0.dll [1]
10898정성태2/17/201623121.NET Framework: 547. PerformanceCounter의 InstanceName 지정 시 주의 사항파일 다운로드1
10897정성태2/17/201622488디버깅 기술: 76. windbg 분석 사례 - 닷넷 프로파일러의 GC 콜백 부하
10896정성태2/17/201623173오류 유형: 320. FATAL: 28000: no pg_hba.conf entry for host "fe80::1970:8120:695:a41e%12"
10895정성태2/17/201622143.NET Framework: 546. System.AppDomain으로부터 .NET Profiler의 AppDomainID 구하는 방법 [1]
10894정성태2/17/201622569오류 유형: 319. Visual Studio에서 찾기는 성공하지만 해당 소스 코드 정보가 보이지 않는 경우
10893정성태2/16/201621417.NET Framework: 545. 닷넷 - 특정 클래스가 로드되었는지 여부를 알 수 있을까? - 두 번째 이야기
10892정성태2/16/201621967오류 유형: 318. 탐색기에서 폴더 생성/삭제 시 몇 초 동안 멈추는 현상
10891정성태2/16/201625297VC++: 95. 내 CPU가 MPX/SGX를 지원할까요? [1]
10890정성태2/15/201624677.NET Framework: 544. C# 5의 Caller Info를 .NET 4.5 미만의 응용 프로그램에 적용하는 방법 [5]
10889정성태2/14/201621439.NET Framework: 543. C++의 inline asm 사용을 .NET으로 포팅하는 방법 - 두 번째 이야기파일 다운로드1
10888정성태2/14/201619351.NET Framework: 542. 닷넷 - 특정 클래스가 로드되었는지 여부를 알 수 있을까?
10887정성태2/3/201620726VC++: 94. MPX(Memory Protection Extensions) 테스트파일 다운로드1
10886정성태2/3/201622147개발 환경 구성: 281. Intel MPX Runtime Driver 수동 설치
10885정성태2/2/201621255오류 유형: 317. Sybase.Data.AseClient.AseException: The command has timed out.
10884정성태1/11/201622187개발 환경 구성: 280. 닷넷에서 SAP Adaptive Server Enterprise 데이터베이스 사용파일 다운로드1
10882정성태1/6/201622252Windows: 113. 윈도우의 2179, 26143, 47001 TCP 포트 사용 [1]
10881정성태1/3/201623330오류 유형: 316. 윈도우 10 - 바탕/돋음 체가 사라져 한글이 깨지는 현상 [2]
10880정성태12/16/201521300오류 유형: 315. 닷넷 프로파일러의 오류 코드 정보
10879정성태12/16/201523158오류 유형: 314. Error : DEP0700 : Registration of the app failed. error 0x80070005
... 121  [122]  123  124  125  126  127  128  129  130  131  132  133  134  135  ...