cgdb安装与使用
官網:http://cgdb.github.io/
安裝
# wget? http://cgdb.me/files/cgdb-0.6.7.tar.gz
# tar -zvxf? cgdb-0.6.7.tar.gz
# cd? cgdb-0.6.7
# ./configure --prefix=/usr/local
# make && make install
?
使用
1:cgdb分為上下兩欄,上面類似于vi窗口(就稱之為vi窗口吧)顯示對應的代碼,下面gdb窗口進行調試操作,上下窗口連動,也就是說vi窗口里顯示的代碼會跟隨gdb窗口里調試的位置同步進退。
2:按esc鍵可讓輸入焦點進入到vi窗口,再按 i 鍵回到gdb窗口。按其它鍵也可以進入到vi窗口,比如小鍵盤上的按鍵(如果此時Num Lock處于打開狀態)。
3:vi窗口可進行的操作包括,上下左右翻動,按冒號(:)開始進行設置,比如設置上面窗口全屏顯示(即下面的gdb窗口被隱藏),按斜干(/)為在當前文件內搜索,按o鍵可以顯示當前程序關聯的文件列表。設置斷點按 "空格" 鍵, 取消斷點按 "空格"?鍵。
4:通過在代碼窗口中鍵入o 來打開文件對話框窗口。當您打開了文件對話框窗口后,需要通過鍵入q 來關閉它。您可以通過方向鍵來選擇您想要的文件,按回車鍵選中文件,甚至可以使用正則表達式去搜索文件。
打開gdb
- 在命令行下輸入 'cgdb' 運行CGDB
- 在GDB窗口輸入 'quit' 或者按下 'Ctrl+D' 退出CGDB
- 在源代碼窗口輸入 ':quit' 也可以退出CGDB。這在GDB掛起或者運行一條耗時很長的指令時也同樣起作用
?
?
cgdb窗口
k
up arrow
向上移動一行j
down arrow
向下移動一行h
left arrow
向左移動一列l
right arrow
向右移動一列Ctrl-b
page up
向上翻一頁Ctrl-u
向上翻半頁Ctrl-f
page down
向下翻一頁Ctrl-d
向下翻半頁gg
移動到文件頂部G
移動到文件底部/
從當前光標處向下搜索?
從當前光標處向上搜索n
繼續向下搜索N
繼續向上搜索o
打開文件對話框窗口spacebar
在當前行設置斷點t
在當前行設置一個臨時斷點-
將代碼窗口縮小一行=
將代碼窗口增大一行_
將代碼窗口縮小25%(當TTY窗口顯示的時候,將TTY窗口縮小一行)+
將代碼窗口增大25%(當TTY窗口顯示的時候,將TTY窗口增大一行)Ctrl-l
清屏并重繪F5
發送一個run命令至GDBF6
發送一個continue命令至GDBF7
發送一個finish命令至GDBF8
發送一個next命令至GDBF10
發送一個step命令至GDB?
代碼窗口
q
將會退出文件對話框并返回代碼窗口k
up arrow
向上移動一行j
down arrow
向下移動一行h
left arrow
向左移動一行l
right arrow
向右移動一行Ctrl-b
page up
向上翻一頁Ctrl-f page down
向下翻一頁/
從當前光標處向下搜索?
從當前光標處向上搜索n
繼續向下搜索N
繼續向上搜索enter
選擇當前的文件?
GDB窗口
I
讓用戶進入TTY模式T
打開一個窗口并將輸入傳遞給被調試的程序Ctrl+T
為被調試程序打開一個新的tty-
將代碼窗口縮小一行=
將代碼窗口增大一行_
將代碼窗口縮小25%(當TTY窗口顯示的時候,將TTY窗口縮小一行)+
將代碼窗口增大25%(當TTY窗口顯示的時候,將TTY窗口增大一行)k
up arrow
向上移動一行j
down arrow
向下移動一行h
left arrow
向左移動一列l
right arrow
向右移動一列Ctrl-b
page up
向上翻一頁Ctrl-u
向上翻半頁Ctrl-f
page down
向下翻一頁Ctrl-d
向下翻半頁gg
移動到文件頂部G
移動到文件底部/
從當前光標處向下搜索?
從當前光標處向上搜索n
繼續向下搜索N
繼續向上搜索o
打開文件對話框窗口spacebar
在當前行設置斷點t
在當前行設置一個臨時斷點Ctrl-l
清屏并重繪F5
發送一個run命令至GDBF6
發送一個continue命令至GDBF7
發送一個finish命令至GDBF8
發送一個next命令至GDBF10
發送一個step命令至GDB
?
附加進程
#cgdb -p pid
?
參考文獻:
漢化文檔
cgdb的介紹和使用(lenky)
?
總結
- 上一篇: Nginx源码分析--基本数据类型的别名
- 下一篇: GDB 格式化结构体输出