簡體   English   中英

分析嵌入式應用程序

[英]Profiling embedded application

我有一個在嵌入式處理器(ARM)上運行的應用程序,我想分析應用程序,以了解它在哪里使用系統資源,如CPU,內存,IO等。應用程序運行在Linux,所以我假設有許多可用的分析應用程序。 有沒有人有什么建議?

謝謝!

編輯:我還應該添加我們使用的Linux版本有些舊(2.6.18)。 不幸的是,我現在沒有很多控制權。

如果您的Linux不是很有限,那么您可能會發現gprofvalgrind很有用

正如bobah所說,gprof和valgrind很有用。 您可能還想嘗試OProfile 如果您的應用程序是使用C ++(如標記所示),您可能需要考慮禁用異常(如果您的編譯器允許)並避免動態強制轉換,如上面sashang所述。 另請參見嵌入式C ++

在相關的說明中,C ++工作組對各種C ++語言功能的性能成本進行了技術報告。 例如,他們分析動態廣播一個或兩個級別的成本。 這里的報告是http://www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf ,它可能會讓您深入了解嵌入式應用程序的痛點。

gprof可能會讓你失望。

假設您正在測試的程序非常有用,那么調用樹很可能會被修剪,因此優化的最佳機會是您可以刪除或避免的函數/方法調用。 該鏈接顯示了找到它們的好方法。

許多人認為這是一種測量時間的分層調查過程。 或者你可以簡單地抓住它,這就是我所做的。

暫無
暫無

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

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