【发布时间】:2017-03-11 08:18:15
【问题描述】:
我想分析我的代码。所以我这样做:
valgrind --tool=callgrind my_program [programm arguments]
kcachegrind callgrind.out.x
现在我有这样的kcachegrind 窗口:
有很多核心函数和库函数,但我如何设置 valgrind 或 kcachegrind 以仅跟踪代码中的函数(当然,这些函数调用库函数)?
预期的输出是这样的:
time number of calls function_name()
4,52% 569854 CSim2Sim my_function1(int argc, char* argv[])
3,52% 452158 CSim2Sim my_function2(int argc, char* argv[])
3,52% 36569 CSim2Sim my_function3(int argc, char* argv[])
1,52% 1258 CSim2Sim my_function4(int argc, char* argv[])
【问题讨论】:
-
您不能单击“位置”选项卡将所有功能分组吗?附加说明:您可以使用 Qt Creator 的调用分析器来执行此操作。
-
@Asu 是的,我这样做了,但是源代码分组还包括库中的文件和包含文件(我不想看到)
标签: c++ valgrind callgrind kcachegrind