[英]How to see which line of code "next" would execute in gdb?
在 gdb 中调试一些代码时,我想看看如果我说next
或step
将执行哪一行。
l
,但是如果我说l
几次(不记得多少次),那么l
不会打印将要执行的行。我想知道我是否在 gdb 中遗漏了一个简单的命令,它显示了调试器停止的当前行?
您可以使用
列表 *$eip
或更短的形式
l *$eip
这将指示 gdb 在当前程序计数器附近打印源代码行。
要查看调试器停止的当前行,您可以使用不带参数的frame
命令。 这达到了与update
命令相同的效果。 它适用于tui
和命令行模式。
你可以说l +0
; 当前行将是列出的第一行。
命令l +offset
列出从当前行的offset
行开始的代码。
请注意,如果您已经使用了list
命令,则当前行将发生变化,即不再是下一个执行行。 所以这只适用于你的第一个list
命令。
听起来您想在Emacs
(它将显示当前文件并标记当前行)、 DDD
或tui
模式中运行GDB
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.