提问人:Laney 提问时间:11/7/2023 最后编辑:Peter CordesLaney 更新时间:11/8/2023 访问量:42
将 perf 与 GCC 的“-p”选项一起使用
Using perf with GCC's "-p" option
问:
我正在尝试使用一些小型 C 程序进行分析,如下所示:perf
$ perf record -F 10000 -g -- ./program
在那之后,我正在构建火焰图:
$ perf script | stackcollapse-perf | flamegraph > flamegraph.svg
我尝试在有和没有编译器选项的情况下编译这个程序(我在 Linux x86_64 上使用 GCC,FWIW)。-p
问题在于前一种情况(例如,与)的火焰图与后一种情况有很大不同。它看起来也更详细。所以我的问题是,期权在这里是否真的有益?这是必要的,但也可以利用它吗?还是 GCC 插入的这个与 -相关的代码只是扭曲了分析数据,使其有些不正确?gcc -p ...
-p
prof
perf
mcount
答:
2赞
tink
11/7/2023
#1
-p
生成 的输出,而不是 。不同的工具。不,我不指望对.prof
perf
-p
perf
1赞
Laney
11/8/2023
#2
好吧,所以我自己想通了。原来在构建脚本中有一个编译器选项。 显然关闭了它。-fomit-frame-pointer
-p
因此,我没有指定,而是替换了一个非常详细的火焰图,并且由于 .-p
-fomit-frame-pointer
fno-omit-frame-pointer
-p
评论