我想问你一些问题什么是不正确的,
我用C语言写了一个程序并翻译成

gcc -Wall -pedantic

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

创建callgrind.out。[pid编号]
如果我跑
callgrind_annotate callgrind.out.[pid] main.c

我会的
--用户注释源:main.c
没有为main.c收集任何信息
有没有办法为程序优化工具的代码和函数调用添加注释?
笔记
gcc -g - pg progrma.c

无法工作,因为gcc和gprof上的Apple unported debug选项也不受支持。KDE程序不想在Mac上运行。。。
感谢大家提供的有用信息

最佳答案

使用gprof编译时,使用-pg配置信息进行编译。valgrind实际上并不需要这些数据来进行分析,它需要的是调试信息。
使用valgrind HEAD,我获取了一段简单的代码,并编译了它而没有-g,得到了与您相同的结果-即No information has been collected for main.c
当我使用-g编译时,我得到了关于main.c的有用信息,即使使用优化编译时,我也得到了有用的信息。
长短不一的是,您需要使用-g来编译,而不是使用-pg来使用callgrind。

关于c - Callgrind注解在OS X 10.10中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32677475/

10-11 00:31