gdb的編譯 使用

2021-09-11 17:06:56 字數 1451 閱讀 7409

2解壓:

xd -d gdb-8.2.tar.xz

tar xvf gdb-8.2.tar.gz

3新建build資料夾:

mkdir build

4配置:

cd build

…/gdb-8.2/configure --prefix=/opt/gdb

–prefix=/opt/gdb表示在make install的時候,將檔案安裝/opt/gdb路徑

5 make

make

5.1故障解決

在 make 的過程中,出現了乙個錯誤: makeinfo is missing on your system

解決方法是:安裝 texinfo

sudo apt-get install texinfo

6 make install

會將編譯成功的gdb檔案安裝到/opt/gdb目錄下

1 陣列越界**

//以下兩個**都會導致記憶體洩漏

#include

#include

#include

#include

int main()

free(p1);

#else

int *a = null;

*a = 0x01;

#endif

return 0;

}2 編譯**

注意:編譯時加上 -g

gcc -g malloc.cpp -o malloc-test -lz -lc -lm

3 設定生成coredunp檔案的環境

3.1 設定core檔案大小為無限

ulimit -c unlimited

3.2 設定檔案大小為無限

ulimit unlimited

3.3 執行可執行檔案 生成core檔案

.4 檢視core檔案內容

gdb malloc-test core

gdb:gdb為上面裝的,只需將/opt/gdb/bin/gdb複製到/usr/bin目錄下(或者設定環境變數)

malloc-test:記憶體洩漏**的可執行檔案

core:執行malloc-test生成的core檔案

以下在29行就是導致記憶體洩漏的地方

gdb的編譯及使用

參考 如果第一次配置錯誤,導致編譯失敗,重新修改配置後,可能還是不能生成正確的makefile檔案,提示類似 target alias has changed since the previous run 的資訊,具體不計的了 可能需要重新刪除 重來 設定環境變數 sudo vi etc profi...

使用gcc編譯gdb除錯

在linux系統中,預設是沒有安裝gcc編譯器的,可以通過命令 rpm q grep gcc 來檢視。安裝命令為 yum y install gcc 安裝後,編寫乙個.c結尾的檔案。gcc test.c 就會預設輸出乙個a.out的輸出檔案,這個輸出檔案就是可執行檔案。如果加上 o選項,則可以自定目...

交叉編譯GDB

gdb是一款強大的除錯工具,不多介紹了 解壓檔案tar xf gdb 7.9.tar.gz配置編譯 編寫編譯指令碼 bin bash configure cc opt mipsel gcc472 glibc216 mips32 bin mipsel linux gcc enable static c...