来自gprof的无意义结果

时间:2016-08-25 22:08:51

标签: c++ gprof

我一直试图用gprof 2.25.2(在Cygwin下)来描述一些C ++,并且它报告说10%的时间花在我知道没有被调用的函数上。 (我将一个print语句放入相关函数中来验证这一点。)它似乎也认为这个函数是递归调用自身的(调用次数为500+16636500),但绝对不是。

这是一个足够大的程序,我没有简单的方法来制作一个我可以在这里发布的最小工作示例,但如果有人对可能导致这种情况的任何想法有任何想法,我将不胜感激。

编辑:使用CMake + g ++构建。 CMAKE_BUILD_TYPE=RELWITHDEBINFO

1 个答案:

答案 0 :(得分:0)

我假设你正在使用gcc / g ++ ...

这听起来像是调试符号相对于源代码或可执行文件已过时的情况。尝试清理构建空间,重新编译(当然使用-g-ggdb3)。如果您正在使用优化进行编译,并且可以将其关闭(例如-O0而不是-O1-O2-O3),请执行此操作。如果可行,请尝试-O1-O2,看看会发生什么。