GNU gprof
Valgrind
$ valgrind --tool=callgrind qemu-system-i386 linux-0.2.img -vnc 0.0.0.0:1
==20950== Callgrind, a call-graph generating cache profiler ==20950== Copyright (C) 2002-2011, and GNU GPL'd, by Josef Weidendorfer et al. ==20950== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info ==20950== Command: /nfs_home/chenwj/install/bin/qemu-system-i386 linux-0.2.img -vnc 0.0.0.0:1 ==20950== ==20950== For interactive control, run 'callgrind_control -h'.
Address Sanitizer
-
-
- MinGW 目前不支援 AddressSanitizer。
Dr. Memory
-
- 下載 Windows 安裝包並安裝。目前只能處理 32 位元的執行檔。
- 參考 Preparing Your Application 編譯 32 位元的執行檔。
-
- Unaddressable Access: 存取尚未配置的內存空間。
- Uninitialized Read: 讀取尚未初始化的內存空間。
- Invalid Heap Argument: 指針配置和釋放錯誤。
- Memory Leaks: 內存洩漏。
- Handle Leaks: Windows 句柄洩漏。
-no_check_handle_leaks
選項可以禁用此類報告。
Embedded
其它
-
-
- 僅針對 C++ 的 new/delete,對 C 的 malloc/free 不起作用。
- 近似 Dr. Memory 偵測 Memory Leaks 錯誤。
-
-
- 相同類型選項,一般處理方式以後者為主。例如:
-mthumb -marm
中,以-marm
為主。-O3 -O2
中,以-O2
為主。
-
-L/Path1 -L/Path2
則會依序從/Path1
和Path2
尋找欲鏈結的函式庫。