VMMapでプロセスを見ると、メモリマップファイルのファイル名がわかります。私は今WinDbgでメモリダンプを解析しており、メモリマップされたファイルのファイル名を知りたいと思います。 WinDbgまたは.dmpファイルからこれをどのように見つけることができますか?WinDbgでどのようにメモリマップファイルの名前を見つけるのですか?
答えて
基本的には、メモリマップファイルのハンドルを取得すると、!handle <address> 0xF
コマンドを使用して関連するデータ(名前を含む)を表示できます。
特定のハンドルがなく、プロセス内の既存のメモリマップファイルの名前を表示する場合は、次のコマンドを使用できます。!handle 0 0x4 Section
。あなたは実際のファイル名を表示したい場合は、システムオブジェクトに関するいくつかの情報を表示するには、カーネルデバッガで!handle
コマンドを発行することができ
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
:あなたはこの1つのような出力を提供する必要があります
あなたのファイルハンドルに対応する。たとえば
:!
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. Moongoose:別の選択肢で名前を見つけよう
- 3. Oracleで名前付き制約の定義を見つけるにはどうすればよいですか?
- 4. Windowsから名前でMacを見つけるにはどうすればよいですか?
- 5. データベースと同様の名前を見つけるにはどうすればよいですか?
- 6. SVNリポジトリの名前/場所はどのようにして見つけることができますか?
- 7. どのようにPHPでMySQLの1つのフィールドの実際のテーブル名を見つけるのですか?
- 8. 私はどのようにLinuxディストリビューションの名前のバージョンを見つけることができます
- 9. OctoberCMSではどのようにヒントのパスを見つけるのですか?
- 10. どのようにViewModelクラスに名前を付けますか?
- 11. Visual Studio 2010でコンテキストメニューの名前を見つける方法
- 12. 年、月、日で日の名前を見つける
- 13. 名前でFacebookのグループIDを見つける方法
- 14. Android:どのようにプログラムでアンドロイドのバージョン名を見つけるのですか?
- 15. PHPUnitは、testsuiteの名前のファイルを見つけようとしているのはなぜですか?
- 16. 前のdivをuiアイテムのjQueryに見つけるにはどうすればよいですか?
- 17. どのようにstrutsのhtmlを見つけるのですか?
- 18. 部分的な名前でファイルを見つけるには?
- 19. アンドロイド:タイプ別のビューをどのように見つけるか
- 20. Json Treeで名前でノードを見つける方法は?
- 21. g ++は標準ライブラリをどのように見つけるのですか
- 22. 1つのクラスに2つの名前を付けるにはどうすればいいですか?
- 23. どのようにmongoosejsで見つけることができますか?
- 24. レーキタスクのソースファイルを見つけるにはどうすればよいですか?
- 25. JSPタグライブラリが.tldをどのように見つけるか?
- 26. どのようにnodeTypeを見つけるか?
- 27. drupal ---どのようにデバッグし、理由を見つけるか?
- 28. localStorageを1つの名前で正しくどのようにしますか?
- 29. directory.GetFiles、どのように見つけてアイテムを吐き出すのですか?
- 30. 非常にランダムなレコードから、事前定義されたルールで名前を見つけるにはどうすればよいですか?
この管理コードまたはネイティブコードですか? –
それは混合されています。ファイルをマップするコードは、マネージコードではありません。それはネイティブdllです。 – Sean