GNU gdb命令行調試器會在每個step
和next
命令後打印它當前所在的行。考慮以下gdb會話,我通過一些代碼步驟:GDB:在每一步後禁止打印當前行
...
Temporary breakpoint 1, main (argc=1, argv=0x7fffffffd848)
at src/main.cc:3
3 int main(int argc, char **argv){
(gdb) next
4 Printf("Hello World\n"); // <--- disable this
(gdb)
5 printf("Hello World 2\n"); // <--- disable this
(gdb)
是否有gdb設置來禁用此打印?我知道這在技術上是可行的,因爲gdb TUI具有我正在尋找的行爲(可通過gdb命令set enable tui
訪問)。
謝謝!
我注意到[cgdb](https://cgdb.github.io/)能夠在使用未改變的gdb時實現此目的。他們如何做到這一點的任何線索? – gospes
cgdb是一個包裝器,因此它可以按照喜歡的方式過濾輸出。所以大概是這樣 - 但我只是猜測,我從來沒有看過cgdb的來源。 –
當執行'interpreter-exec console next'時,打印源位置被「禁用」。不幸的是,當把這個命令放在一個函數中時('定義n \ n解釋器 - 執行控制檯下一個\ n結束')gdb生成一個段錯誤。有任何想法嗎? – gospes