通过使用windbg pid 调试内核转储用户空间进程的最佳方法是什么?我可以使用windbg 从用户空间附加到进程并通过.dump 生成崩溃,但是我将如何从内核中为单个进程执行此操作而不生成整个内核的崩溃转储?
来自内核的pid的windbg故障转储过程
逆向工程
工具
视窗
风袋
倾倒
2021-07-02 04:42:38
2个回答
你应该尝试使用 .writemem
例如:
.writemem c:\www.exe 0x400000 0xE3000
0x400000
主要可执行文件的映像库在哪里。
提取它从pEPROCESS->SectionBaseAddress
,0xE3000
是SizeOfImage
如在PE头部,并且c:\www.exe
是输出文件。
在用户模式下转储进程 (.dump /ma) 将转储其所有虚拟内存。这包括当前分页到磁盘的内存。它将在转储过程中调入。
内核调试接近于仅调试物理内存。因此,即使您设法转储进程的所有物理内存,您也只有名为“WorkingSet”的部分。它不会是一个完整的转储,尤其是你不能用它来调试 .NET。
所以,最后,即使以某种方式可能,你也不会得到相同的结果。