gdb除錯工具使用

2021-10-18 10:06:16 字數 1590 閱讀 5750

gdb是gcc的除錯工具,主要用於c和c++語言編寫的程式。通過gdb除錯工具,我們可以設定斷點、檢視變數、動態改變程式的執行環境等,可以很好的幫助我們查詢程式的bug。

gcc -g test.c -o test

g++ -g test.cpp -o test

命令

解釋gdb program

gdb program core

gdb program id

啟動gdb。

program為編譯後的可執行程式;

core是程式非法執行後core dump產生的檔案

id為服務程式執行時的程序id

llist的縮寫,可以用來顯示原始碼資訊(包含行號)

b nb func

n為行號,func為函式名,表示在某一行或某個函式處加上乙個斷點

info break [n]

檢視斷點資訊,n為可選項,表示斷點的編號

rrun的縮寫,表示執行程式

n count

單詞執行count行。n是next的縮寫,count表示行數,預設為1。

p variable

檢視變數資訊。variable 為要檢視的變數

bt檢視函式堆疊

watch/rwatch/awatch cond

監控斷點,監控變數或表示式cond的變化。

watch:只有變數值發生變化時,程式才會停止執行。

rwatch: 只要程式**現讀取目標變數(表示式)的值的操作,程式就會停止執行。

awatch:只要程式**現讀取目標變數(表示式)的值或者改變值的操作,程式就會停止執行

catch event

捕捉斷點。event表示要監控的具體事件(如一些異常事件)

clear location

刪除斷點。location通常為斷點行號或函式名

disable [num…]

禁用斷點。num…表示可以有多個引數,表示要禁用斷點的編號。

比如: disable 1 2

enable [num…]

啟用斷點。num…表示可以有多個引數,表示要啟用斷點的編號

finish

退出函式

q退出除錯,quit的縮寫

#include

void

myfun()

intmain()

l命令:

新增斷點:

gdb除錯工具使用

gdb命令使用格式如下 gdb 選項 可執行程式 core檔案 程序id 常用選項 c core檔案 使用指定core檔案檢查程式 h 列出命令選項的簡要介紹 n 忽略 gdbinit檔案中指定的執行命令 q 禁止顯示介紹資訊和版權資訊 s 檔案 使用儲存在指定檔案中的符號表 gdb除錯時會用到的命...

除錯工具 gdb

gcc o a.out a.c gdb q a.out break main info register i r objdump d a.out grep a20 main.轉換為機器 objdump m intel d a.out grep a20 main.gdb 設定 1 gdb q 2 se...

gdb除錯工具

檢視幫助一是man 命令,二是進入 www.gnu.org 找到gdb的幫助文件 更詳細 gcc wall g main.c o main,只有這樣才能產生除錯資訊,包括core的除錯資訊。一 常用命令 run r 執行,執行到斷點,重新用r,表示重新開始執行。list l 列出源 l 2,l ma...