2010-03-12 57 views
10

在使用DDD進行許多有時會淹沒的調試會話期間,我偶然發現了循環。然後我繼續按下旁邊的按鈕來越過它,如果迭代次數很多,我只需在它後面設置一箇中斷點,然後按「繼續」。有沒有其他方式去循環?如何在ddd中跳過過去的循環(gdb)

+0

感謝s /通過/過去/ g ...英語不是我的第一語言,雖然我無可辯駁地變得更好。 – vehomzzz 2010-03-12 19:37:00

回答

15

你想要的「直到」命令 - 看到gdb的手冊在http://www.gnu.org/software/gdb/documentation

繼續運行,直到源線 執行當前行,當前 堆棧幀,達到。該命令 用於避免單次步進 多次循環。它是 就像下一個命令一樣,只是當 遇到跳轉時,它自動繼續執行 直到程序計數器比跳轉地址大 。

這意味着,當你達到一個循環的單步雖然 之後結束 ,直到讓你的程序繼續執行 直到它退出循環。相比之下, 末尾的下一個命令循環會簡單地返回到循環開始處的 ,這將強制 您逐步執行下一個 迭代。

3

我通常使用「繼續直到這裏」,它在該位置設置臨時斷點並立即繼續執行。它通過鼠標按鈕3訪問,打開一個彈出式菜單。