C語言中的Debug工具介紹

概述
代碼測試有很多方面,例如運行時間、函數調用關係圖、代碼覆蓋度、性能分析
(Profiling) 、內存訪問越界(Segmentation Fault) 、緩衝區溢出(Stack
Smashing 合法地進行非法的內存訪問?所以很危險) 、內存泄露(Memory
Leak) 。

代碼測試工具簡介:
1.測試程序的運行時間 time
2.函數調用關係圖 calltree
3.性能測試工具 gprof & kprof
4.代碼覆蓋率測試 gcov & ggcov
5.內存範圍越界 catchsegv, libSegFault.so
6.緩衝區溢出 libsafe.so
7.內存泄漏 Memwatch, Valgrind, mtrace
8.系統調用分析 strace

代碼調試:
1.靜態調試:printf + gcc -D(打印程序中的變量)
2.交互式的調試(動態調試):gdb(支持本地和遠程);ald(彙編指令級別的調試)

嵌入式系統調試方法:gdbserver/gdb
彙編代碼的調試 ald
3.實時調試:gdb tracepoint
4.內核調試工具
https://elinux.org/images/c/c6/Tools_slides.pdf

代碼優化:

  1. Oprofile
  2. Perf
發佈了28 篇原創文章 · 獲贊 20 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章