每天學點GDB 15

2022-10-11 01:36:19 字數 776 閱讀 9058

本節重點描述兩個gdb整合測試環境

有沒有辦法在一邊除錯的時候,一邊顯示對應的原始碼呢?有沒有一種工具能夠將gdb整合到ide中呢,本文就試圖回答這些問題。

在linux的世界裡,emacs整合gdb來時行除錯可是聞名已久,經過了不斷的演進gud也變得越來越強大,越來越好使了。

那麼如何進入gud呢,很簡單在emacs中,輸入m-x(也就是alt+x)後,輸入gdb,然後回車。有乙個簡短的提示,無視直接回車即可。

在gdb所在視窗設定斷點,執行程式

程式將在設定的斷點處停止執行,此時在選單中選擇gud->gdb-mi->display other windows,呈現如下圖所示的效果

與上述的emacs+gdb比較起來,這個gdb tui可能默默無名。我也是在無意之中發現這個東東的,還是比較好使的, 最主要的是這個功能是gdb本身內建的。無須第三方工具。

如何進入gdb tui模式

gdb -tui ./prog
或者在進入gdb之後輸入如下快捷鍵

c-x a

想同時顯示原始碼和反彙編**的話,就c-x 2或者執行相應的指令layout

每天學點GDB(二)

預設情況下,日誌是沒有開啟的,所有的除錯資訊都會在螢幕中顯示,即預設是輸出到stdout中的。那麼有沒有可能將輸出到螢幕中的內容儲存到檔案裡呢。答案自然是肯定的,這裡面有個地方遇要注意一下子,具體會在下面的示例中提及。將日誌檔案開啟,不指定檔名的話,預設的檔名是gdb.txt。gdb set log...

每天學點GDB 2

在一中提到gdb最最基本的用法,在本節主要講述一下如何讓gdb在斷點處列印一下診斷資訊,但程式執行本身不會中斷。先稍微改一改源程式 include include int main int argc,char argv return 0 假設要在執行期間檢視i值的變化。如果是step by step...

每天學點GDB 3

預設情況下,日誌是沒有開啟的,所有的除錯資訊都會在螢幕中顯示,即預設是輸出到stdout中的。那麼有沒有可能將輸出到螢幕中的內容儲存到檔案裡呢。答案自然是肯定的,這裡面有個地方遇要注意一下子,具體會在下面的示例中提及。將日誌檔案開啟,不指定檔名的話,預設的檔名是gdb.txt gdb set log...