在Eclipse IDE 環(huán)境下使用Lauterbach公司的TRACE32調(diào)試工具
wait 2s
setup.breaktransfer OFF
SYStem.Up
<initialisation of the target board>
< load .elf file with symbol info>
setup.breaktransfer ON
; give Eclipse time to connect
; OFF: in case board is restarted
; start breakpoint synchronization
通過Eclipse IDE啟動(dòng)起來的Trace32調(diào)試軟件的“data.list”窗口的右鍵菜單中會(huì)現(xiàn)實(shí)一個(gè)新的子菜單“edit source”.利用該子菜單可以在調(diào)試的過程中隨時(shí)跳到相關(guān)的原碼編輯窗口,進(jìn)行代碼查看和修改。
5. 寄存器/存儲(chǔ)設(shè)備查看和修改
目標(biāo)系統(tǒng)的寄存器/存儲(chǔ)器的數(shù)據(jù)也可以隨時(shí)查看和修改,即使在程序運(yùn)行的狀態(tài)下也可以以紅色的標(biāo)志顯示最近修改/變化的寄存器或者存儲(chǔ)器數(shù)據(jù).
6. 實(shí)時(shí)操作系統(tǒng)內(nèi)核調(diào)試
Trace32 調(diào)試軟件免費(fèi)提供了三十多種通用的嵌入式實(shí)時(shí)操作系統(tǒng)的多任務(wù)調(diào)試的支持. 用戶可以根據(jù)自己的需求,通過如下兩條指令添加出來和操作系統(tǒng)相對(duì)應(yīng)的菜單(如下圖所示)。
Task.config ThreadX
Menu.reprogram ThreadX
該菜單可以幫助用戶方便的獲得目標(biāo)系統(tǒng)應(yīng)用程序內(nèi)核資源的詳細(xì)信息。同時(shí)也為用戶提供了查看系統(tǒng)當(dāng)前的狀態(tài)和信息窗口,例如:任務(wù)列表、堆棧列表、Timer、隊(duì)列、內(nèi)存池等系統(tǒng)級(jí)的屬性。 在Trace32調(diào)試軟件界面中,用戶還可以支持任務(wù)相關(guān)的斷點(diǎn)。通過該斷點(diǎn)用戶可以查看系統(tǒng)任務(wù)的調(diào)度時(shí)間及CPU的工作量等。
7. 歷史程序流回放
隨著嵌入式系統(tǒng)復(fù)雜度的提高,越來越多的不確定因素影響著系統(tǒng)的正常運(yùn)行. 通常情況下,有很多問題現(xiàn)象是無法重現(xiàn)或者無法必然重現(xiàn)的問題需要定位,例如堆棧溢出,內(nèi)存泄露,程序死機(jī)等. 為了幫助用戶定位這些錯(cuò),Trace32軟件還可以支持程序跟蹤記錄/回放的功能, 如果用戶有Lauterbach Trace32跟蹤硬件(PowerTrace模塊),就可以在記錄目標(biāo)系統(tǒng)的程序流和數(shù)據(jù)流。 當(dāng)程序被停下來之后,就可以在Trace.List窗口中找到用戶需要的程序段,選中某行代碼后,鼠標(biāo)右件彈出的菜單中選擇“set CTS”. 就可以恢復(fù)到系統(tǒng)執(zhí)行該行代碼時(shí)的狀態(tài),在“data.list”窗口中將程序指針指向該行代碼,并且允許用戶雙向的控制程序的運(yùn)行。
評(píng)論