双机联调时,不仅可以调试内核层,也可以调试应用层。
被调试的系统:XP系统,因此没有session会话需要切换。
1 使用 !process 0 0 获取用户空间的所有的进程的信息,然后找到你需要调试的exe进程的地址。
如果获取失败或者提示出错,那么先输入 .reload 命令(注意有 . 号)重新载入符号。
2 比如要调试 explorer.exe,那边拷贝该进程的peb地址为 0x82119da0 。
3 输入命令 .process /p + 你需要断的应用程序的EProcess地址(如下 .process /p 0x82119da0 ),切换到应用程序的地址空间。
4 输入命令 .reload /f /user 重新加载user PDB文件。
5 输入命令 .process /i /p 0x82119da0 ,使用非侵入式的切换进程空间。
6 输入命令 g 运行系统。然后再按 ctrl+break 中断被调试系统,通过bu 或者 bp 命令设置断点即可。
7 执行了以上6步,如果断点无法命中,可以保存先WinDbg的workspace,然后重启被调试机器。再次执行1-5步,则相关的断点应该就可以命中了。