專題介紹 - 透過Desktop Execution Trace Toolkit來對中大型專案除錯

許多業界朋友詢問我平時如何針對中大型的系統行專案除錯,
目的不外乎:

  • 想要追蹤執行緒
  • 想要捕捉event
  • 想要確認VI被呼叫的狀況
  • 想要了解reference使用及釋放狀況
  • 想要檢查錯誤事件
  • 想要追蹤巨量記憶體使用VI的狀況
  • 想要自定義事件並且透過相同介面來顯示
我通常都會建議使用Desktop Execution Trace Toolkit。

開啟Desktop Execution Trace Toolkit後,會發現它的介面十分的簡潔

Desktop Execution Trace Toolkit是用來做事件追蹤使用,沒有太多的設定項目給使用者。使用者只須要選擇Application Instance到你的專案,並且按下右邊的Start之後,Desktop Execution Trace Toolkit就會就會自行監控你的程式。

如果啟動失敗,或是沒有進行監控,多半是防火牆把3363這個port擋掉,建議可以把Desktop Execution Trace Toolkit加入防火牆的軟體白名單。

開始追蹤後,Desktop Execution Trace Toolkit就會開始更新

可看到主程式啟動後開始刷新List,後頭帶著每個事件的類別,如VI啟動,VI被呼叫等等。

如果作業過程,有些reference沒有關閉就離開VI,那麼Desktop Execution Trace Toolkit會看到reference leak的事件

同樣的,如果軟體正在操作的reference是無效的reference,例如操作一個已經被關閉的queue reference導致產生錯誤而輸出到Error out,那麼在Desktop Execution Trace Toolkit則會顯示Error的事件

至於記憶體的使用及釋放,也可以透過Desktop Execution Trace Toolkit來看到,包含Memory Allocate, Resize, Free的功能。



此外如果有需要在特定的程式碼中加入自定義追蹤條件來讓Desktop Execution Trace Toolkit捕捉,那麼只需要透過以下的API


這是Desktop Execution Trace Toolkit提供唯一的API給使用者呼叫,可以自訂義要顯示甚麼文字在Desktop Execution Trace Toolkit上,當程式執行到這個API時,便會在Desktop Execution Trace Toolkit看到其捕捉的資訊

使用者或許會覺得有許多項目不想看到,只想看到特定的事件,甚至只顯示特定的VI的事件,Desktop Execution Trace Toolkit的Capture Settings可以讓使用者自行選擇顯示的項目


選擇完畢後就可以顯示相關的設定,例如把event納入顯示

基本上介面非常簡單,使用上我想應該也不會有太大的問題,希望提供給有需要的人了解並應用!