Callgrind Anotate在OS X 10.10中不起作用

时间:2015-09-20 08:44:20

标签: c macos valgrind callgrind

我想问你一些可能不正确的问题,

我用C编写程序并在

中翻译
gcc -Wall -pedantic

并运行

valgrind --simulate-cache=yes --tool=callgrind ./a.out

创建 callgrind.out。[pid-number] 如果我跑

callgrind_annotate callgrind.out.[pid] main.c

out将是

- 用户注释的来源:main.c

没有为main.c收集任何信息

是否可以为程序优化工具注释代码和函数调用?

注意

gcc -g - pg progrma.c

无法正常工作,因为Apple不支持gcc上的调试选项,gprof也不受支持。并且KDE程序不想在Mac上运行... 感谢大家提供有用的信息如何解决它

1 个答案:

答案 0 :(得分:1)

使用gprof进行编译时,您正在使用-pg分析信息进行编译。 valgrind实际上并不需要这些数据来进行分析,它需要的是调试信息。

使用valgrind-HEAD,我使用了一段简单的代码并在没有-g的情况下编译它并得到了与您相同的结果 - 即No information has been collected for main.c

当我使用-g进行编译时,我获得了有关main.c的有用信息,即使我使用优化进行编译,我也获得了有用的信息。

您需要使用-g进行编译,而不是使用-pg进行编译,以使其与callgrind一起使用。