좋아, 좀 더 조사한 결과, 그 종류의 정보는 단지 미니 dump에있는 dll에서 사용할 수 없다는 결론에 도달했습니다. 어쨌든 필자는 적어도 파일에 대한 정보를 좀 더 얻을 수 있었고 나중에 다른 사람에게 유용 할 수도 있습니다.
적어도 dll의 메타 정보를 얻을 수 있으며 거기에서 유용한 정보를 찾을 수 있습니다.
먼저 도메인을 얻을 : 여기 그렇게하는 방법 당신은 나와 어셈블리의 많은 양으로 끝낼 수 있습니다
!dumpdomain
. 그것은 어쩌면 아니다 (windbg를 (http://pykd.codeplex.com/)에 대한 파이썬 확장을 설치하고 빠른 간과 위해 다음 스크립트를 사용
!dumpassembly ADDRESS
을 아니면 그냥 게으른 방법을 사용할 수 있습니다 : 지금 당신은 사용하여 손으로 그들을 볼 수 있습니다 좋은 스크립트,하지만 작동하고 내가) 더 많은 시간을 투자하고 싶지 않았다 :
import pykd
def dump_assemblies():
assemblies = 0
addrs = pykd.dbgCommand("!dumpdomain").splitlines()
for x in addrs:
if x[:8] == "Assembly":
assemblies = assemblies + 1
print "### retrieving assembly " + x[-8:]
print pykd.dbgCommand("!dumpassembly " + x[-8:])
print "### found " + str(assemblies) + " assemblies."
dump_assemblies()
은 이제 DLL에 대한 텍스트 검색 (CTRL + F)를 할 수있을 것입니다. 찾으면 모듈 이름 옆에 오프셋을 찾을 수 있습니다 (12327C8 C : \ Program Files \ MyApp \ MyDLL.dll과 비슷한 모양).
이제 사용하여 모듈을 덤프 할 수 있습니다
이
!dumpmodule 12327C8
당신을 이끌 것이다 :
dc 1c1aaa4c 1c1aaa4c + 4248
: 이제
Name: C:\Program Files\MyApp\MyDLL.dll
Attributes: PEFile
Assembly: 131a22e2
LoaderHeap: 00000000
TypeDefToMethodTableMap: 19220010
TypeRefToMethodTableMap: 134303e0
MethodDefToDescMap: 13430740
FieldDefToDescMap: 13433964
MemberRefToDescMap: 134350c8
FileReferencesMap: 13435918
AssemblyReferencesMap: 1343591c
MetaData start address: 1c1aaa4c (4248 bytes)
당신이 단순히 DLL의 메타 데이터를 확인하실 수 있습니다
그게 내가 DLL에 대한 자세한 정보를 얻을 수있는 가장 가까운 곳이야. 불행히도 파일 버전은 거기에 쓰여지지 않았으며, 좀 더 일반적인 정보를 담고 있습니다. 어쨌든, 나는 고객과 다시 연락하려고 노력할 것이다. 어쨌든 답변 주셔서 감사합니다.
그것은 조립, 버전 자원의 관리되지 않는 리소스에 포함된다. "미니 덤프 (minidump)"의 미니는 일반적으로 시스템에 설치하지 못하게하므로 미니 덤프는 관리되는 코드와 잘 작동하도록 설계되지 않았습니다. GC 힙 전체를 포함시키지 않는 것이 또 다른 전형적인 장애물입니다. 고객에게 사본을 요청하거나 도움말 + 정보 대화 상자를 다시 읽으십시오. –
미니 덤프라는 용어는 다소 불행합니다. 주어진 옵션에 따라 전체 덤프보다 더 완전 할 수 있습니다. 일반적으로 관리 응용 프로그램/ma가 이상적입니다. 덤프 유형을 || 명령. – Dono
유형이 "사용자 미니 덤프"로 표시됩니다. – Nimeroth