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
发布了27 篇原创文章 · 获赞 20 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_33479881/article/details/103166322