簡體   English   中英

如何查看在 gdb 中將執行哪一行代碼“下一個”?

[英]How to see which line of code "next" would execute in gdb?

在 gdb 中調試一些代碼時,我想看看如果我說nextstep將執行哪一行。

  • 當然我可以說l ,但是如果我說l幾次(不記得多少次),那么l不會打印將要執行的行。
  • 我還可以回滾到上次 gdb 停止的時間,看看它在哪一行,但這有時需要挖掘一堆輸出。

我想知道我是否在 gdb 中遺漏了一個簡單的命令,它顯示了調試器停止的當前行?

您可以使用

列表 *$eip

或更短的形式

l *$eip

這將指示 gdb 在當前程序計數器附近打印源代碼行。

要查看調試器停止的當前行,您可以使用不帶參數的frame命令。 這達到了與update命令相同的效果。 它適用於tui和命令行模式。

你可以說l +0 ; 當前行將是列出的第一行。

命令l +offset列出從當前行的offset行開始的代碼。

請注意,如果您已經使用了list命令,則當前行將發生變化,即不再是下一個執行行。 所以這只適用於你的第一個list命令。

聽起來您想在Emacs (它將顯示當前文件並標記當前行)、 DDDtui模式中運行GDB

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM