linux 應用程式除錯技術 堆記憶體除錯工具

2021-09-28 15:25:18 字數 737 閱讀 9079

使用例項

要使用memwatch需要完成以下3點

1、在**中加入標頭檔案memwatch.h

2、程式的**與memwatch.c一起編譯、鏈結

3、使用gcc編譯器進行編譯時要定義巨集memwatch、memwatch_stdio

#include #include #include #include #include #include "memwatch.h"

int main(int argc, char *ar**)

makefile 如下

cc=gcc

cflags=-dmemwatch -dmemwatch_stdio

obj=main.o memwatch.o

edit:$(obj)

$(cc) -o $@ $(obj)

%.o:%.c

$(cc) $(cflags) -c $< -o $@

.phony:clean

clean:

rm -rf *.o

編譯完成執行程式後,會在當前目錄下輸出乙個memwatch.log檔案,裡邊記錄的就是記憶體檢測結果。開啟如下

可以看到檢測出了記憶體上溢、重複釋放和未釋放的情況,在檔案的最後還統計了記憶體的使用情況。

嵌入式除錯技術(二) GDB除錯應用程式

嵌入式除錯技術 二 gdb除錯應用程式 小狼 一 gdb在pc機除錯本地程式 gdb helloworld 用gdb除錯程式 二 gdb在pc機除錯arm程式 taget gdbserver 192.168.1.10 2345 helloworld host arm linux gdb hellow...

linux 應用程式段錯誤除錯方法

1 分析core檔案 當應用程式出現段錯誤時,會生成core檔案。linux系統預設情況下,禁止core檔案的生成,用命令ulimit c 返回0表示禁止。需要手動開啟core檔案,如將core檔案的大小限制512k ulimit c 1000,core file size為未限制大小 ulimit...

linux應用程式設計 GDB除錯

gdb簡介 gdb是gnu發布的一款功能強大的程式除錯工具,gdb主要完成下面三個方面功能 一 gdb的使用操作 1.啟動被除錯程式。2.讓被除錯的程式在指定的位置停住。3.當程式被停住時,可以檢查程式狀態 如變數值 gdb除錯例項 1.在linux下編寫test.c程式 1 include 2 3...