cat writebug.cn/history

一个开发者的技术博客。

生成函数调用关系图

用gprof生成函数调用关系图

  1. CMakeLists.txt
SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_C_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -pg -ggdb")  
SET(CMAKE_C_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")

gcc -pg -g source.c -o binary
  1. ./binary 生成 gmon.out
  2. gprof ./binary> gprof_output.txt
  3. graph2dot.py gprof_output.txt> call_graph.dot

valgrind 生成函数调用图 (推荐)

valgrind --tool=callgrind ./a.out
执行完成后在目录下生成"callgrind.out.XXX"的文件这是分析文件
gprof2dot.py -f callgrind callgrind.out.XXX > xxx.dot

linux linux