Microsoft MVP성태의 닷넷 이야기
서드파티 dll 디버깅에 대해 질문드립니다. [링크 복사], [링크+제목 복사],
조회: 18355
글쓴 사람
김레오 (erewe at naver.com)
홈페이지
첨부 파일
 
(연관된 글이 4개 있습니다.)

안녕하세요 성태님 닷넷 디버깅 관련해서 질문드립니다.

닷넷 서드파티 dll 디버깅시 닷넷리플렉스 및 리플렉스il에 관해 설명하신 글 잘 보았습니다.

제가 드리고 싶은 질문은 SECTION .text영역에 IMAGE_DEBUG_DIRECTORY 및 IMAGE_DEBUG_TYPE_CODEVIEW 항목이 빠져있을때

pdb를 생성하는 것이 불가능하더군요

혹시 이런 문제를 만난 적이 있으신가요???

있으시다면 해결 방법이 있는지 궁금해요

감사합니다.~


[연관 글]






[최초 등록일: ]
[최종 수정일: 7/4/2017]


비밀번호

댓글 작성자
 



2017-07-04 03시35분
실제로 csc.exe 컴파일 시 /debug- 옵션으로 빌드하면 IMAGE_DEBUG_DIRECTORY 없이 생성되는데요. 하지만 .NET Reflector의 경우 "debugger signature"가 없다는 정도의 메시지만 뜰 뿐 ("DEVPATH"가 지정되지 않은 경우 먼저 지정하도록 하는 단계를 거친 후) 해당 DLL의 복사본을 만들고 IMAGE_DEBUG_DIRECTORY를 추가한 후 PDB 파일을 생성해 .NET Reflector의 cache 폴더에 추가합니다.

가령, DEVPATH가 기본값으로 "c:\programdata\red gate\.NET Reflector\DevPath" 경로를 가리키는 데 그 안에 새로운 DLL이 위치하고 "%USERPROFILE%\AppData\Local\Red Gate\.NET Reflector 9\Cache\0" 폴더에 PDB 파일을 생성해 줍니다.
정성태
2017-07-06 01시19분
[김레오] 친절한 답변 감사드려요. 돈 없는 학생이라 .NET Reflector 라이센스 구매는 힘들고, 찾다보니
http://debugandconquer.blogspot.kr/2015/04/debugging-assemblies-that-werent-built.html
이렇게 IL코드로 디스어셈블 하는방법도 있네요, 감사합니다.
[guest]

NoWriterDateCnt.TitleFile(s)