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

以下是可使用的命令:

利用您的 .elf 文件運(yùn)行初始化。這樣會(huì)返回棧和堆的地址位置及其大?。?/p>

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

運(yùn)行您的應(yīng)用程序直至斷點(diǎn),或者步進(jìn)調(diào)試。為了獲得最準(zhǔn)確的結(jié)果,請(qǐng)?jiān)趹?yīng)用程序中運(yùn)行一段覆蓋大多數(shù)情況的序列。然后,運(yùn)行以下命令:

這樣會(huì)讀出應(yīng)用程序中當(dāng)前棧和堆的大?。ㄗ止?jié)數(shù))和使用量(字節(jié)數(shù))以及使用率(百分比):

這有助于判斷您的應(yīng)用程序是否已根據(jù)您的需求使用了適當(dāng)?shù)膬?nèi)存量。
-
amd
+關(guān)注
關(guān)注
25文章
5627瀏覽量
138663 -
內(nèi)存
+關(guān)注
關(guān)注
8文章
3159瀏覽量
75968 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3340瀏覽量
59782 -
Vitis
+關(guān)注
關(guān)注
0文章
152瀏覽量
8224
原文標(biāo)題:開發(fā)者分享|AMD Vitis? 統(tǒng)一軟件平臺(tái)調(diào)試 - 在應(yīng)用程序調(diào)試期間分析棧和堆使用情況
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何知道嵌入式電子控制單元 (ECU) 中的RAM使用情況?
請(qǐng)問如何在Keil開發(fā)環(huán)境中查看代碼大小和SRAM使用情況?
如何在運(yùn)行時(shí)檢查堆棧和堆使用情況
如何查看RAM使用情況?
請(qǐng)問如何在Keil開發(fā)環(huán)境中查看代碼大小和SRAM使用情況?
STM32H7的FLASH,RAM和棧使用情況
如何使用Battery Historian分析電源使用情況
LPC11U68如何在我的代碼中計(jì)算閃存的使用情況?
如何檢查imx6中的GPU使用情況?
如何才能知道5.10.72的Vivante_vdk測(cè)試Qt應(yīng)用程序GPU使用情況?
KAN316如何確定應(yīng)用程序的堆棧使用情況
大化肥用離心壓縮機(jī)組的使用情況分析及其近期發(fā)展趨勢(shì)
如何使用SystemView的堆監(jiān)控功能

如何在應(yīng)用程序調(diào)試期間分析棧和堆使用情況
評(píng)論