[英]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.