如何在 WinDbg 中查找内存映射文件的名称?
当我在 VMMap 中查看进程时,我可以看到内存映射文件的文件名。我现在正在分析 WinDbg 中的内存转储,并且想知道内存映射文件的文件名。如何从 WinDbg 或 .dmp 文件中找到它?
When I look at my process in VMMap, I can see the filenames of memory mapped files. I'm now analysing a memory dump in WinDbg and would like to know the filenames of memory mapped files. How can I find this from WinDbg or a .dmp file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
!address -f:FileMap
适用于实时调试。您可以查看
!address
文档,了解有关可用于优化输出的其他标志的更多详细信息。!address -f:FileMap
works in live debugging.You can see the
!address
docs for more details about other flags you can use to refine the output.基本上,一旦您设法获取内存映射文件的句柄,您就可以使用
!handle
查看一些相关数据(包括其名称)。 0xF
命令。如果您没有特定的句柄,但只想查看进程中现有内存映射文件的名称,可以使用以下命令:
!handle 0 0x4 Section
。它应该为您提供与此类似的输出:
如果您想查看实际的文件名,您可以在内核调试器中发出
!handle
命令来查看有关系统对象的一些信息对应于您的文件句柄。例如:
Basically, once you manage to obtain the handle to your memory mapped file, you could view some relevant data (including its name) using the
!handle <address> 0xF
command.If you don't have a specific handle, but just want to view the names of the existing memory mapped files in the process, you could use the following command:
!handle 0 0x4 Section
.Which should provide you with an output similar to this one:
If you'd like to view the actual filename, you could issue the
!handle
command in a kernel debugger to view some information about the system objects that correspond to your File handles.For example: