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