Linux下GDB調試基本操作

Linux下C語言調試:使用GDB,調試的文件必須是debug版本可執行文件,以main.c爲例,

gcc -o main main.c -g(生成debug版本,debug纔可調試)

進入GDB:gdb main

l:顯示代碼

list main.c:num:顯示指定文件的代碼n行

b num:將斷點添加到num行

b fun:將斷點添加到fun入口處

info b:查看斷點內容

d bpnum:刪除斷點

disable bpnum:將斷點設置爲無效(不加斷點序號:設置所有斷點)

enable bpnum:將指定斷點設置有效(同上)

r:運行程序到第一個斷點處

s:進入將要被調用的函數運行

n:執行下一行

c:執行到下一個斷點(邏輯位置)

p val:查看變量值

display val:監視變量值

undisplay val:取消監視變量的值

p &val:查看變量地址

p str:顯示數組所有元素

p *str@len:通過指向數組的指針顯示數組元素

bt:顯示堆棧調用

ptype::顯示變量類型

info f:當前棧層的詳細信息

info locals:打印出當前函數中所有局部變量及其值

info catch:打印出當前的函數中的異常處理信息

info display:查看display設置的自動顯示信息

info registers:查看寄存器的情況

info all-registers:查看所有寄存器的情況(包括浮點寄存器)

printf i=6:修改被調試時運行的變量值

set language:查看gdb所支持的語言類型

info frame:查看當前函數的程序語言

info source:查看當前文件的程序語言

截圖說明(有圖有真相)




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章