隨著 AMD Vitis 統一軟件平臺 2021.2 的發布,Vitis 引入了一個 Tcl 腳本,用于在應用程序運行的特定時間點協助查找棧和堆的內存使用情況。該腳本已延續到后續的 Vitis 版本,并在 Unified IDE 中仍可使用。本文涵蓋了如何在 Vitis 中使用分析工具在應用程序調試期間對棧和堆進行監控。
以下提供了使用此腳本在調試期間實時收集棧和堆的使用情況的指示信息。
要求:
當前在硬件上正在運行的應用程序
已打開 Vitis 終端或 GUI(XSCT/XSDB 控制臺),并且可通過它來訪問正在運行硬件
步驟:
運行應用程序調試,直至第一個斷點(通常為 Main 函數)為止。
在 XSCT/XSDB 終端中,使用 Source 命令運行安裝路徑下的內存腳本:

以下是可使用的命令:

利用您的 .elf 文件運行初始化。這樣會返回棧和堆的地址位置及其大小:

注釋:您可以使用 GUI 右鍵單擊自己的 ELF 文件、選擇“Copy Path”(復制路徑),然后將其粘貼到終端中以獲取完整路徑。
如果愿意,您現在即可運行“mem analyze”,這樣即可看到在應用程序啟動時使用率為零 (0%):

運行您的應用程序直至斷點,或者步進調試。為了獲得最準確的結果,請在應用程序中運行一段覆蓋大多數情況的序列。然后,運行以下命令:

這樣會讀出應用程序中當前棧和堆的大小(字節數)和使用量(字節數)以及使用率(百分比):

這有助于判斷您的應用程序是否已根據您的需求使用了適當的內存量。
-
amd
+關注
關注
25文章
5682瀏覽量
139937 -
內存
+關注
關注
9文章
3209瀏覽量
76357 -
應用程序
+關注
關注
38文章
3344瀏覽量
60251 -
Vitis
+關注
關注
0文章
157瀏覽量
8347
原文標題:開發者分享|AMD Vitis? 統一軟件平臺調試 - 在應用程序調試期間分析棧和堆使用情況
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
如何在應用程序調試期間分析棧和堆使用情況
評論