Linux中的除錯工具 gdb的使用總結

2021-09-26 19:03:18 字數 917 閱讀 9970

我們在寫程式時往往不能一次寫到位,而是需要不斷的檢查,最終才能有我們你想要的程式;而為了方便檢查,就有人發明了除錯工具;而我們今天要介紹的就是linux中的除錯工具——gdb

剛接觸gdb感覺這個除錯工具真難用,即不方便又不直觀,但是在接觸一段時間並熟悉之後發現這東西還是不好用;(相比於整合開發軟體);但是該學的還是要學呀;下面就是阿鯉對gdb的學習總結,希望對大家有所幫助。

在說除錯命令之前,需要介紹以下程式發布的版本;程式發布的版本分別有release版本和debug版本;release版本是面向客戶的,其中是不會報錯,當然也不會含有除錯資訊,所以其大小會小一點;debug版本是面向程式設計師的其中包含了除錯資訊;而我們使用gdb肯定用的是debug版本;(c程式生成debug版本的命令gcc -g file.c).

接下來介紹的就是除錯命令了。

阿鯉在這裡以使用頻率進行排序

gdb file

進入檔案準備除錯

start

程式開始除錯

n逐行走

s進入函式

display 變數名

一直顯示變數大小

break 行號

在這行打斷點

info break

檢視斷點資訊

r執行程式(遇到斷點停止)

p列印變數值q退出

c:從當前位置開始連續而非單步執行程式 

set var

修改變數的值

list 

顯示源**(每次顯示十行)

until 行號

跳至這一行

linux除錯工具GDB

gdb偵錯程式除錯的物件是可執行檔案,使用gcc或者g 編譯器編譯源 時,必須加上 g才能使目標可執行檔案包含可被除錯的資訊。比如 gcc g o helloworld helloworld.c 編譯並連線程式,使之包含可被除錯資訊 gdb helloworld 使用gdb偵錯程式開啟hellowo...

除錯工具 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...