GDB除錯core檔案小記

2021-07-24 05:51:35 字數 558 閱讀 1709

1. 如果不走配置,必須在當前shell中設定core檔案的限制

2. 在當前shell中設定core限制,在其他shell中啟動程式,是不會生效的

3. core一般很大,最好設為unlimited

4. root 使用者使用ulimit -c unlimited命令,開啟core dump功能,並且不限制生成core dump檔案的大小。如果需要限制,加數字限制即可。ulimit - c 1024

5. 除錯core的指令:

gdb  core-file=core.9128

gdb file ./a.out

6. 多執行緒環境中,其他子執行緒自行exit(-1),--------我這邊是在連線資料庫時,資料庫網路連線失敗,會exit(-1)退出-----這樣的函式退出,gdb無法跟蹤參考下面文章a

7. 參考部落格

a:多執行緒除錯必殺技 - gdb的non-stop模式

set target-async 1

set pagination off

set non-stop on

b:使用 gdb 除錯多程序程式

GDB除錯core檔案

1.什麼是core dump?core dump說的是作業系統執行的乙個動作,當某個程序因為一些原因意外終止 crash 的時候,作業系統會將這個程序當時的記憶體資訊轉儲 dump 到磁碟上,產生的檔案就是core檔案了,一般會以core.形式命名。2.那些訊號能夠引起core dump?經常用到的...

GDB除錯core檔案

core檔案是程式執行狀態的記憶體映像當程式執行過程 現segmentation fault core dumped 錯誤時,程式停止執行,並產生core檔案。使用gdb除錯core檔案可以幫我們快速定位程式出現段錯誤的位置。可執行程式編譯時應加上 g編譯選項,生成除錯資訊閉。當程式訪問的記憶體超出...

gdb除錯core檔案

本人最近正在學習除錯技術,此處對棧溢位做一些總結。gdb的基本使用就不多扯了。主要針對發行在外的release版本的軟體出現問題時的除錯。一般來講,檢視堆疊就是使用bt,這個時候加上bt full會讓你更加滿意,因為這裡面可以顯示出區域性變數資訊。另一點是檢視暫存器中的值,主要是sp和ip。指令 i...