tornado 調試技巧 課件_第1頁
tornado 調試技巧 課件_第2頁
tornado 調試技巧 課件_第3頁
tornado 調試技巧 課件_第4頁
tornado 調試技巧 課件_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

tornado調試培訓提綱shelltornado,Tornado調試概述crossWind

(tornadodebugger)browser

windSh(tornadoshell)

WindView

crossWindTornado調試概述crossWind(tornadodebugger)browser

windSh(tornadoshell)

WindViewcrossWind調試器重要步驟2、Debug->Sourcesearchpath中加上你要調試的原代碼的路徑。crossWind調試器-常用功能breakPoint:設置斷點,當任務執行到本斷點后會stop,前提是我們設置了autoattachtotask,在沒有設置此選項的情況下,必須手工attach到某一任務。有全局斷點和任務斷點Step:單步功能,跟其他調試環境類似。Watch:設置watch變量。Variable:變量查看,主要是當前被調試的函數的局部變量和全局變量。

注意:WatchVariable和顯示的變量值可能會不對,最好去和內存中去確認,或者看寄存器或者打印。(arm)Registers:查看寄存器當前值。Memory:查看內存值。crossWind調試器-常用功能Backtrace:棧回溯,通過棧回溯,可以看到函數的調用關系,針對每一個棧幀,可以查看調用時各個函數的執行環境,包括參數、寄存器等。Attach:attach到某一運行任務,attach之后,整個任務便在調試器的控制之下。Run:創建一個任務,并執行,調試器會自動attach到這個任務。Diassemble:反匯編能力,可以和c語言同時對應顯示browserTornado調試概述crossWind(tornadodebugger)browser

windSh(tornadoshell)

WindViewBrowser-堆棧1、察看stack信息 可以察看當前stack使用量 可以察看最大stack的使用量注意:如果在taskSpawn的時候選項中設置了VX_NO_STACK_FILL,那么就無法察看stack的使用量。

在shell中用checkStack也可以察看stack的使用Browser-spySpy:察看cpu占有率。當感覺系統運行很慢時,可以用spy察看哪些任務占cpu太多時間了。注:有的tornado顯示用不了spy,那么可能要把spyLib.o這個文件copy到lib/objppc603gnuvx目錄下。windSh(tornadoshell)Tornado調試概述crossWind(tornadodebugger)browser

windSh(tornadoshell)

WindViewWindsh-任務信息i所有任務的名字,入口函數,tid,優先權,當前pc,sp,錯誤號等注意:如果顯示中任務名為空,則很有可能發生了越棧現象。tid就是tcb塊開始的地址,可以通過這個地址察看和修改里面的內容ti(參數為任務名或tid)顯示任務tcb塊的完整信息。通常關注信息是:堆棧的信息(棧頭,棧尾,最大使用棧的大小)寄存器(sp(ppc里的r1)的值,pc的值,函數參數值(ppc的r3,r4,r5),fp(如ppc的r31))Windsh-任務信息sp函數名,參數值發起一個新的任務,任務名為t1,t2…..ts掛起一個任務,tr讓任務繼續運行td刪除一個任務Windsh-內存相關d,地址,顯示的單元數,寬度(1,2,4,8)顯示內存m地址,寬度修改內存MemShow1顯示內存的使用信息,如后參數1則顯示詳細的freememory信息memShowmemShow1FREELIST:numaddrsize-----------------------10x3fee181620x3b14342030x4d1882909400SUMMARY:statusbytesblocksavgblockmaxblock-------------------------------------------Currentfree290943639698122909400alloc9690601610260–Cumulativealloc11433401636569-如果內存鏈表給破壞了,可以通過和正常的freelist比較推斷破壞在哪個地方。Windsh-和代碼相關l反匯編,由于static的函數名沒有包含進符號表,所以不能完全看出代碼是哪個具體的函數,要想準確知道,可以在tornado的debug中用反匯編或者用objdumpppc-dlkAddr察看該地址離哪些符號(函數名,全局變量名)比較近。lkup察看變量的地址注:符號表是通過symTbl.c鏈接進來的,只包含了全局信息。Windsh-其它devs顯示系統所有設備可以找出對應的串口號。semShow顯示信號量的信息W

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論