gpt4 book ai didi

c++ - 如何解释 Google 性能工具 CPU 分析器中的地址

转载 作者:可可西里 更新时间:2023-11-01 18:39:17 25 4
gpt4 key购买 nike

我的 C++ 程序消耗大量 CPU,并且在运行时消耗更多。我使用 Google Performance Tools 来分析 CPU 使用情况,这就是我得到的结果:

(pprof) top
Total: 1343 samples
1330 99.0% 99.0% 1330 99.0% 0x0000000801dcb11c
7 0.5% 99.6% 7 0.5% 0x0000000801dcb11e
4 0.3% 99.9% 4 0.3% program::threadWorker
1 0.1% 99.9% 1 0.1% 0x0000000801dcb110
1 0.1% 100.0% 1 0.1% 0x00007fffffffffc0

但是,这里显示的 5 个进程中只有 1 个是实际的函数名称;其余的是地址。我怎样才能找出这些地址属于什么? (当然我最感兴趣的是上面显示的第一个地址)

编辑:这是我运行探查器的方式:

env CPUPROFILE=prof.out ./a.out
[kill program]

pprof ./a.out prof.out

此外,我通过代码检查找到了根本原因。但是,让探查器查明罪魁祸首函数而不是地址仍然很好。

最佳答案

有没有可能你在google-pprof中加载结果的时候没有指定可执行文件?

我将其运行为:

$ google-pprof executable /tmp/executable.hprof --text | less

并且可以很好地看到函数名称。或者当您运行 google-pprof 时,这些方法在某个共享库中而不在您的路径中?

关于c++ - 如何解释 Google 性能工具 CPU 分析器中的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7757175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com