【问题标题】:Callgrind Anotate not working in OS X 10.10Callgrind Anotate 在 OS X 10.10 中不起作用
【发布时间】:2015-12-17 02:32:10
【问题描述】:

我想问你一些问题,什么是不正确的,

我用C写了一个程序,然后翻译成

gcc -Wall -pedantic

然后运行

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

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

callgrind_annotate callgrind.out.[pid] main.c

会出来


-- 用户注释源:main.c


没有为 main.c 收集信息

有没有办法为程序优化工具注释代码和函数调用?

注意

gcc -g - pg progrma.c

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

【问题讨论】:

    标签: c macos valgrind callgrind


    【解决方案1】:

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

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

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

    总而言之,您需要使用 -g 进行编译,而不是使用 -pg 才能使其与 callgrind 一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-31
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      • 2014-12-15
      • 2015-03-16
      相关资源
      最近更新 更多