2012-06-13 55 views
2

我在編寫一些gdb命令腳本來簡化調試。我有 的其中一個問題是我設置了一個斷點,並且我想在之後禁用它,並且僅在命中另一個斷點後啓用它。從gdb獲取斷點編號

我想要做的就是這個

$my_break_number = break SomeFile.cpp:231 
disable $my_break_number 

但不幸的是GDB不以這種方式工作。我已閱讀手冊,但找不到有關如何操作的任何信息。希望有一些我錯過的信息。

回答

5

gdb會自動設置一個便利變量$ bpnum和最後一個設置的斷點編號。

你可進行使用斷點設置來禁用它(當斷點是模糊的,並創建多個斷點我沒有測試過,我認爲它會工作,並禁用所有斷點位置創建。)

後見:http://sourceware.org/gdb/current/onlinedocs/gdb/Set-Breaks.html#Set-Breaks

如果您需要使用命令中的斷點編號,那可能不是您想要的,但它適用於指定的問題。

+0

我認爲這正是我正在尋找的。我已經多次閱讀過該頁面,但每次都錯過了$ bpnum。我會檢查出來並接受答案。 – daramarak

2

聽起來好像您可能想要使用Python GDB scripting,它比「常規」命令腳本可以提供更好的編程性access to breakpoints

+0

我將看看python腳本,它看起來很現實,但現在我堅持使用沒有python支持的gdb。 – daramarak