3

我用 srcpath 和所有设置了我的 windbg。

我在一个函数上添加了一个断点,我可以看到堆栈跟踪。当断点命中时,windbg 在当前指令处显示源代码,没有问题。但我想在其他地址查看源代码。如何像反汇编一样查看给定地址的源代码?我们使用“u”?

查看源代码的命令是什么?谢谢

4

2 回答 2

9

.open -a 是你的朋友。如果您的符号设置正确,它将打开包含指定地址代码的源代码。

于 2013-08-10T18:57:15.697 回答
1

如果您有调试代码的源代码,为什么要从 windbg 浏览/查看它?源代码模式使调试变得非常简单,但 windbg 不是“代码浏览器”。

如果您想查看给定地址的源代码,只需检查什么函数“覆盖”了该地址,例如:

kd> uf fffff800`02be05d0
nt!NtOpenFile:
fffff800`02be05b0 4c8bdc          mov     r11,rsp
...
fffff800`02be05d0 458953e0        mov     dword ptr [r11-20h],r10d    

然后 ctrl-o 并打开包含此函数的源代码(除非您为 microsoft 工作:D,否则您的 func ofc)并在 windbg 中浏览它。

于 2013-08-10T09:03:06.517 回答