找到符號使用perf report
,我沒有看到任何符號我的程序,而不是我得到的輸出是這樣的:我怎樣才能PERF在我的計劃
$ perf record /path/to/racket ints.rkt 10000
$ perf report --stdio
# Overhead Command Shared Object Symbol
# ........ ........ ................. ......
#
70.06% ints.rkt [unknown] [.] 0x5f99b8
26.28% ints.rkt [kernel.kallsyms] [k] 0xffffffff8103d0ca
3.66% ints.rkt perf-32046.map [.] 0x7f1d9be46650
這是相當不提供信息。
相關程序使用調試符號構建,sysprof
工具顯示相應的符號,縮放也是如此,我認爲它使用的是perf
。
請注意,這是在x86-64上,所以二進制編譯爲,但在其他工具下運行也是如此。
,並嘗試過它用'-fno-omit-frame-pointer',它沒有效果。 –
您可以創建一個展示問題的最小示例嗎?從一個基本的二進制開始,它不會並且將這些差異平分。 –
@BrianCain,相關的二進制文件非常大,因此平分並不是真的可行。不過,我會在一個簡單的程序上嘗試它,因爲也許這也不起作用,並且它會更容易追蹤。 –