gdb的簡單使用

2021-07-27 17:37:18 字數 1120 閱讀 5888

1.檔案清單

list 簡寫l

list line 列出line行後面的10行**

list + 列出當前行後面的10行**

list - 列出當前行前面的10行**

list function_name 列出函式名為function_name的10行**

2.執行程式

run 簡寫r

run 後面可加引數

set args -x 設定引數 -x

gdb a pid 切入到已經啟動的程序中,pid為程序號。

3.堆疊跟蹤

backtrace 簡寫bt

backtrace 調出函式呼叫關係

4.列印

print 簡寫p

print 列印各個變數的值

print variable 列印變數

print function(1,10) 列印函式輸出

print 複雜資料結構(結構體)

5.斷點

break 簡寫b

break line-number 使程式停在line-number行之前

break function-name 使程式停在 function-name 函式前

break filename:line-number 程式有多個原始檔時,可以指定在那個檔案的哪一行設定斷點。

break line-number if condition 如果條件condition 成立在line-number處設定斷點。

6.斷點管理

info break 顯示所有的斷點資訊

delete breakpoint 刪除所有的斷點

delete breakpoint 1 刪除編號為1的斷點

disable breakpoint 1 禁止使用編號為1的斷點

enable breakpoint 1 允許使用編號為1的斷點

clear number 清除行號為number斷點

7.單步執行

next 不進入的單執行

step 進入的單步執行,如果已經進入了某函式,想要退出 執行finish

8.函式呼叫

call name 呼叫名稱為name函式

gdb的簡單使用

gdb簡介 gdb的簡單使用 gdb execfile 可執行檔案 不過在要用gdb之前,編譯時要加上 g 選項 1 l list命令的簡寫 例如 l 12 將會顯示第12行 以及它前後若干行 l main 將顯示main函式開頭附近十行 不加引數,直接 l 會顯示下10行 list 將顯示上10行...

g 和gdb簡單使用

在編譯之前我們需要在系統裡安裝g gcc,它們就是linux下的c c的編譯器。如下 sudo apt get install build essential include using namespace std int main void hello display 在g 中有乙個引數 c可以只...

Linux 下GDB的使用之簡單入門

linux 下程式崩潰。先要生成core檔案方可除錯 這裡test為被除錯程式 1.檢視core檔案 相當於windows下的dump 大小,如果為0,則不會生成core檔案 ulimit c 檢視core檔案大小 ulimit c filesize 設定大小為filesize ulimit c u...