windbg双机调试时对R3函数下断

对于刚接触windbg的童鞋可能想在双机调试的环境下查看某个用户态函数的反汇编,可能会直接下直接断点,这是会产生如下提示的错误 
Bp expression ‘*******’ could not be resolvedadding 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函数下断了

来自:http://blog.csdn.net/evi10r/article/details/6950398

posted @ 2012-10-11 14:53  Y4ng  阅读(1376)  评论(0编辑  收藏  举报