簡體   English   中英

如何解釋Google perf工具CPU探查器中的地址

[英]How to interpret addresses in Google perf tools CPU profiler

我的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時,這些方法是在某些共享庫中而不是在您的路徑中?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM