(一)GDB除錯程式,Coredump故障分析

2021-09-16 18:34:04 字數 1675 閱讀 6224

gdb是gnu發布的一款功能強大的程式除錯工 具。gdb主要完成下面三個方面的功能:

1、啟動被除錯程式。

2、讓被除錯的程式在指定的位置停住。

3、當程式被停住時,可以檢查程式狀態 (如變數值)。

vlist(l)檢視程式

vbreak(b)函式名在某函式入口處新增斷點

vbreak(b) 行號在指定行新增斷點

vbreak(b) 檔名:行號在指定檔案的指定行添  加斷點

vinfo break檢視所有設定的斷點

vdelete 斷點編號刪除斷點

vnext(n)單步執行程式(不進入子函式)

vstep(s)單步執行程式(進入子函式)

vcontinue(c)繼續執行程式

vprint(p)變數名 檢視指定變數值

vset var=value設定變數的值

vquit(q)退出gdb

core dump又叫核心轉存。當程式在執行 過程中發生異常, 這時linux系統可以把程 序出錯時的記憶體內容儲存在乙個core檔案 中, 這種過程叫core dump。

core dump主要用來對付什麼樣的錯誤呢?

linux應用程式在執行過程中,經常會遇到 segment fault(段錯誤) 這樣的錯誤。

產生這樣錯 誤的原因通常有

v 陣列訪問越界v 訪問空指標v 棧溢位v 修改唯讀記憶體

在linux系統中,預設是關閉core dump功能 的,但是可以通過來ulimit命令開啟/關閉 core dump功能。

開啟:

ulimit -c unlimited

關閉:ulimit -c 0

發生core dump之後, 可以使用gdb進行查 看core檔案的內容, 以定位程式出錯的位置

用法:gdb 程式名 core檔名

例:   gdb ./test core.12525

GDB除錯程式 一

gdb是gnu開源組織發布的乙個強大的unix下的程式除錯工具,主要完成以下四個方面的內容 1.啟動程式,讓陳程式按照自己的定義隨心所欲的執行。2.可以放程式在指定的斷點處停住。3.當程式挺住時,可以檢查程式發生的事情。4.動態改變程式的執行環境。gdb使用流程 1.編譯可執行檔案 gcc g zj...

GDB除錯程式 一

以下文章 陳皓csdn部落格 用gdb除錯程式 gdb概述 gdb是gnu開源組織發布的乙個強大的unix下的程式除錯工具。或許,各位比較喜歡那種圖 形介面方式的,像vc bcb等ide的除錯,但如果你是在unix平台下做軟體,你會發現gdb這個除錯工具有比vc bcb的圖形化偵錯程式更強大的功 能...

GDB除錯程式

gdb的三個功能 1 啟動被除錯的程式 2 設定斷點 3 設定斷點之後可以檢查程式的狀態 1.編譯生成可執行檔案 注意 g 除錯選項 gcc g tst.c o tst 2.啟動gdb gdb tst 3.在main函式處設定斷點 break main 4.執行程式 run5.利用 更加豐富的 gd...