windbg双机调试时对R3函数下断
对于刚接触windbg的童鞋可能想在双机调试的环境下查看某个用户态函数的反汇编,可能会直接下直接断点,这是会产生如下提示的错误
Bp expression ‘*******’ could not be resolved, adding deferred bp
这是因为没有切换到用户环境。
可依次执行如下命令
kd> !process 0 0 explorer.exe PROCESS 81fff020 SessionId: 0 Cid: 0600 Peb: 7ffde000 ParentCid: 05f0 DirBase: 048401c0 ObjectTable: e19d5188 HandleCount: 371. Image: explorer.exe .process /p /r 81fff020 Implicit process is now 81fff020 .cache forcedecodeuser done Loading User Symbols ..................................................
.process命令的功能是在内核态调试时,切换进程CONTEXT。是调试用户态模块所必须的命令,因为用户态模块必然是在进程环境中运行的。使用.process命令时需注意,在切换到目标进程空间后必须强制加载user模块的pdb文件。在;运行.process /i; g,等待中断后使用.reload /i /user或.process 时使用/p /r参数。否则lm不能列出进程实际已经加载的用户态模块,lm u结果会为空。下用户态程序断点,查看内存等操作都无法进行。
这里切换到其他的用户进程空间也可以,然后就可以对R3函数下断了