簡體   English   中英

Perf無法在Android上正確顯示調用圖

[英]Perf does not display call graph properly on Android

我正在嘗試使用perf來分析我的Android應用程序。

fplutil項目的幫助下,我設法在Android設備上安裝perf,運行perf record ,然后在主機上執行perf report

通常,當我運行性能perf report -g我希望看到類似於此的調用圖:

47.91%    a.out  a.out              [.] f5()
          |
          --- f5()
             |
             |--53.82%-- f4()
             |          |
             |          |--56.16%-- f3()
             |          |          |
             |          |          |--49.14%-- f2()
             |          |          |          |
             |          |          |          |--52.92%-- f1()
             |          |          |          |          a()
             |          |          |          |          main
             |          |          |          |          __libc_start_main
             |          |          |          |
             |          |          |           --47.08%-- a()
             |          |          |                     main
             |          |          |                     __libc_start_main

但是,當我對在Android設備上收集的數據執行性能perf report ,我沒有看到正確的調用圖,例如堆棧未正確展開:

4.98%  app_name  my_lib.so  [.] void quat_apply<double>(double*, double const*, double const*, int, double)
            |                                                                                              
            --- 0xbee75fe4                                                                                 

            |                                                                                              
            --- 0xbee760c4                                                                                 

            |                                                                                              
            --- 0xbee75c0c 

我該怎么辦才能用函數名稱替換這些十六進制地址?

我已經在使用-g-fno-omit-frame-pointer構建代碼了,我還缺少其他東西嗎?

答對了!

-mapcs-frame

生成對於所有功能都符合《 ARM過程調用標准》的堆棧框架,即使對於正確執行代碼嚴格而言並非必須如此。 使用此選項指定-fomit-frame-pointer會導致不為葉函數生成堆棧幀。 缺省值為-mno-apcs-frame。 不建議使用此選項。

盡管option標記為已棄用,但它為我修復了調用圖。

暫無
暫無

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

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