VMMap에서 프로세스를 보면 메모리 매핑 된 파일의 파일 이름을 볼 수 있습니다. WinDbg에서 메모리 덤프를 분석 중이며 메모리 매핑 파일의 파일 이름을 알고 싶습니다. WinDbg 또는 .dmp 파일에서 어떻게 찾을 수 있습니까?WinDbg에서 메모리 매핑 된 파일의 이름은 어떻게 찾습니까?
답변
기본적으로 메모리 매핑 된 파일의 핸들을 가져 오면 !handle <address> 0xF
명령을 사용하여 관련 데이터 (이름 포함)를 볼 수 있습니다.
특정 핸들이없고 프로세스의 기존 메모리 매핑 파일의 이름을 보려면, 다음 명령을 사용할 수 있습니다 : !handle 0 0x4 Section
. 이것과 같은 출력을 제공한다
: 당신이 실제 파일 이름을 확인하려는 경우
Handle 6bc
Name \BaseNamedObjects\NLS_CodePage_862_3_2_0_0
Handle 6cc
Name \BaseNamedObjects\MyMap
Handle 794
Name \BaseNamedObjects\Cor_Private_IPCBlock_v4_4092
Handle 798
Name \BaseNamedObjects\Cor_SxSPublic_IPCBlock_4092
Handle 7cc
Name \BaseNamedObjects\ShimSharedMemory
5 handles of type Section
, 당신은 시스템 개체에 대한 정보를 볼 수있는 커널 디버거에서 !handle
명령을 실행할 수 파일 핸들에 해당하는 예를 들어
!
lkd> !handle 0 0x3 2c4 File
Searching for Process with Cid == 2c4
Searching for handles of type File
PROCESS 89242da0 SessionId: 0 Cid: 02c4 Peb: 7ffdd000 ParentCid: 0b48
DirBase: 0a640dc0 ObjectTable: e1c361d0 HandleCount: 83.
Image: ConsoleApplication1.exe
Handle table at e11f6000 with 83 entries in use
000c: Object: 86a74868 GrantedAccess: 00100020 (Inherit) Entry: e11f6018
Object: 86a74868 Type: (89e2a730) File
ObjectHeader: 86a74850 (old version)
HandleCount: 1 PointerCount: 1
Directory Object: 00000000 Name: \Foo\Bar {HarddiskVolume2}
06d0: Object: 8669c4b8 GrantedAccess: 00100083 Entry: e11f6da0
Object: 8669c4b8 Type: (89e2a730) File
ObjectHeader: 8669c4a0 (old version)
HandleCount: 1 PointerCount: 1
Directory Object: 00000000 Name: \wubildr {HarddiskVolume1}
06d4: Object: 86bf1f58 GrantedAccess: 00120089 Entry: e11f6da8
Object: 86bf1f58 Type: (89e2a730) File
ObjectHeader: 86bf1f40 (old version)
HandleCount: 1 PointerCount: 1
Directory Object: 00000000 Name: \WINDOWS\assembly\pubpol6.dat {HarddiskVolume1}
06dc: Object: 892c43e0 GrantedAccess: 00120089 Entry: e11f6db8
Object: 892c43e0 Type: (89e2a730) File
ObjectHeader: 892c43c8 (old version)
HandleCount: 1 PointerCount: 1
Directory Object: 00000000 Name: \WINDOWS\assembly\NativeImages_v4.0.30319_32\index1fe.dat {HarddiskVolume1}
06ec: Object: 892cf1f8 GrantedAccess: 00100001 Entry: e11f6dd8
Object: 892cf1f8 Type: (89e2a730) File
ObjectHeader: 892cf1e0 (old version)
HandleCount: 1 PointerCount: 1
열려있는 섹션에 대한 핸들을 갖지 않고 매핑 된 섹션을 가질 수 있습니다. – wj32
-f 주소 : FileMap
을 당신은 출력을 수정하는 데 사용할 수있는 다른 플래그에 대한 자세한 내용은 주소의 문서 볼 수 있습니다!의.
-scott
올바른 플래그는 -f : FileMap이라고 생각하지만 그렇지 않으면 +1 –
- 1. 메모리 매핑 된 파일의 메모리 사용을 제한하는 방법
- 2. 메서드에서 할당 한 메모리 양은 어떻게 찾습니까?
- 3. 메모리 매핑 된 데이터베이스
- 4. 메모리 매핑 된 파일을 자릅니다.
- 5. Windows 메모리 매핑 된 파일
- 6. 파일의 메모리 매핑 대 CreateFile/ReadFile
- 7. 아버지 및 자식 프로세스가있는 메모리 매핑 된 파일의 문제
- 8. Windows CE에서 메모리 매핑 된 파일의 일부를 매핑하는 중
- 9. 병에 정의 된 패키지는 어떻게 찾습니까?
- 10. 메모리 매핑 파일의 크기는 어느 정도입니까?
- 11. 메모리 매핑 된 레지스터에서 읽기
- 12. 메모리 매핑 된 파일 .NET
- 13. 플랫폼 별 lib 파일의 이름은 어떻게 지정해야합니까?
- 14. 메모리 매핑 파일 식별
- 15. Clojure 객체에서 구현 된 프로토콜은 어떻게 찾습니까?
- 16. Windows 메모리 매핑 된 파일 모니터링
- 17. 메모리 매핑 파일의 경로를 가져올 수 있습니까? (.NET 4.0)
- 18. 메모리 매핑 된 파일 : 메모리 사용을 모니터링하는 방법
- 19. 구조체의 크기는 어떻게 찾습니까?
- 20. 전화 번호는 어떻게 찾습니까?
- 21. 발신자 기능은 어떻게 찾습니까?
- 22. - 프로세스 ID는 어떻게 찾습니까?
- 23. CoreLocation은 어떻게 장치를 찾습니까?
- 24. 내 Xcode 프로젝트에 나타나는 .db 파일의 위치는 어떻게 찾습니까?
- 25. exe 파일의 사용 가능한 매개 변수는 어떻게 찾습니까?
- 26. C/C++ 컴파일러는 헤더 파일의 프로토 타입 정의를 어떻게 찾습니까?
- 27. C++에서 ofstream으로 만든 파일의 디렉터리 경로는 어떻게 찾습니까?
- 28. Python/Django 모델 객체의 메모리 주소는 어떻게 찾습니까?
- 29. 메모리 맵 파일의 장점은 무엇입니까?
- 30. Posix 공유 메모리 대 매핑 된 파일
이 관리되는 코드 또는 기본 코드입니까? –
그것은 혼합이다. 파일을 매핑하는 코드는 관리되는 코드가 아닙니다. 그것은 네이티브 dll입니다. – Sean