rbreak 超牛的斷點設定命令

2021-05-23 09:56:00 字數 962 閱讀 6234

本宣告http://hellogcc.blogbus.com/logs/67436524.html

teawater@hellogcc

當我在使用gdb的時候,我總想直接設定斷點到乙個檔案上。這樣當被除錯程式執行到這個檔案裡任何一行**的時候,他就會被斷點停止。但是gdb的普通斷點指令是不支援這麼作的。

現在,gdb-cvs-head中有了乙個新命令(應該也會出現在gdb 7.2中):

rbreak regex

這個命令可以在所有滿足正規表示式regex的函式上設定斷點。 這個命令在愛這些函式上設定無條件斷點,並且列印出設定了斷點的函式列表。這些斷點跟break命令設定的斷點一樣,所以你可以像操作普通斷點一樣操作他們。

這個命令中使用的正規表示式和grep中使用的一樣,注意這個正規表示式和shell語法不太一樣。比如「foo*」將對應名稱中包含「fo」後面不跟o或者跟著若干個o的函式,這是乙個.*結構的正規表示式。要想對應名稱為foo開頭的函式,要使用^foo。

當除錯c++程式的時候,rbreak用在給不屬於任何class的過載函式設定斷點很方便。

rbreak可以直接向乙個程式的所有函式設定斷點,比如:

(gdb) rbreak .

rbreak file:regex

如果使用rbreak的時候增加乙個檔名,這將限制rbreak的搜尋範圍在乙個檔案file中。這可以實現一些特別的功能,比如設定斷點到乙個檔案中的所有函式上:

(gdb) rbreak file.c:.

在WinDBG中設定斷點的命令

命令 0 bp 02sample kbtest fibonacci stdcall r esp 在零號執行緒上的kbtest類的fibonacci stdcall函式上設定斷點,並且在觸發斷點時執行 r esp 命令.bl 列出所有已經設定了的斷點 bc 清除所有斷點 bp 02sample kbt...

charles的設定斷點

一 新增charles斷點 1 用charles抓包發起一次介面請求 2 對要打斷點的介面右鍵,選擇 breakpoints 二 charles斷點設定 1 點選charles選單 proxy breakpoint.此時會彈出 breakpoints settings 對話方塊 2 雙擊 locat...

斷點的設定以及清除

經檢驗,可以用 斷點指的是在程式 的某一行上設乙個標記,程式執行到這裡時將暫停,由偵錯程式控制程式的執行。程式中可以設定多個斷點,並能給斷點設定條件。在 編輯器中根據不同的顏色檢視當前執行的情況。例如,斷點通常用紅底白字表示,當前執行的 行用藍底白字表示。這種功能可以使使用者對除錯狀態一目了然。斷點...