創提部落格
希望我們能與您分享和探討成長中的點點滴滴
DT10功能介紹--自動化的變數驗證器
分享到
功能介紹
嵌入式開發人員和測試人員使用DT10時,最常用到的一個自動調試功能就是:監控並報告在運行時狀態下,參數在什麼時候、哪個位置出現了非法值或越界值。這能夠説明發現運行時軟體中存在的與記憶體相關的很多問題。
如果能夠輕鬆地重現這些問題,有經驗的工程師就能夠迅速插入一些 print 語句,來手動解決這些問題。但是,很多時候,這些問題造成的影響是很難重現的,而且可能只是偶爾出現;這樣就大大增加了發現、診斷、修復問題的難度,不僅費時而且成本也極高。
使用DT10可以在所有的區域變數、全域變數、函數參數上放一個自動驗證器,只要通過按一下,驗證器就可以運 轉。然後就可以讓軟體正常運行, 最長可以捕獲長達 32 天的資料。一旦我們監控的資料超出了有效範圍,或者出現非法值,DT10就可以在運行時捕獲這些資訊,並報告這些違規行為,這些資訊能有效説明我們診斷並解決 問題。這能幫助嵌入式團隊節省很多時間,他們不再需要花那麼多精力來重現並定位某個問題。
我們可以通過下面的例子,來瞭解 DT10 在動態測試方面的能力:
功能演示
嵌入式設備偶爾會出現錯誤行為,據懷疑是下圖中處理感測器資料的函數存在問題,但是還不能確定。
可以使用DT10在整個應用程式碼中自動插入測試點,也可以在自己認為可能存在問題的關鍵點上手動插入特
定的測試代碼。這裡,利用DT10在可能存在問題的函數上插入一個輸入資料自動驗證器,並設定一個符合軟體原始設計的許可範圍(如,0-20)。
只要點擊OK按鈕,DT10軟體就會在原始程式碼上插入一個優化後的測試點,對運行時的資料進行自動驗證。
現在,可以將嵌入式軟體重新部署到實際應用的(或測試實驗室的)設備上,如果有需要的話,可以讓它運行 31 天,以便重現並捕獲那些難以發現的問題。
DT10分析引擎會對獲取的資訊進行分析,並高亮顯示超過變數設定的預期範圍的情況。即使最終出現問題的地方被深深掩藏在追蹤日誌的Gigabytes裡面,DT10還是會準確地定位到問題重現的地方,可以精確到納秒:
DT10也會提供“函數追蹤報告”,報告會對嵌入式軟體的行為進行圖形化分析,包括函式呼叫之間的關係和時序,這些都有助於診斷和修復軟體問題。
總結
如果應用程式的變數可以利用DT10自動監控並驗證值的範圍和合法性,那麼通過長時間執行,就能夠定位到那 些難以重現的問題,從而提高嵌入式產品的整體品質,説明開發人員和測試人員減少工作量,使他們能夠更好地集中精力從事其它具有附加價值的任務。