我正在用WinDbg分析AcroRd32.exe
。 AcroRd32.exe
有2个进程,其中一个(父-P)启动另一个进程(child-p)。我使用.childdbg 1
和|1s
等命令来调试这两个进程。如何控制多进程调试
我切换到child-p,然后切换回到father-p,使用条件断点监视kernel32.dll的CreateFileW
和ReadFile
API。在打开a.pdf
时,仅使用参数“C:\ a.pdf”调用CreateFileW
。我记得文件句柄CreateFileW
的返回值,使用条件断点来监视ReadFile
的参数,但是没有调用ReadFile
,返回值为CreateFileW
。然后与许多g
命令,混淆的事情来了,a.pdf
打开!
我很困惑。没有致电ReadFile
,PDF打开。 Acrobat Reader是如何做到的?我有两个假设,第一个,它使用一些像API一样的CreateFileMapping
;另一个(大部分),孩子 - P做它。
让我们来讨论第二个假设。当我调试father-p时,child-p没有挂起。它是如何打开(读取)文件的?
谢谢!!你的回答已经很好地解决了我的问题!作为一个初学者,谢谢你从我的心底多次帮助我解决问题。 – xupeng
@xupeng:不客气。 WinDbg很难学,我很高兴能分享我的知识 –