DT10功能(néng)介紹--自動化的變量驗證器

創提信息
2021/09/29

分享到

功能(néng)介紹
 
嵌入式開(kāi)發(fā)人員和測試人員使用 DT10 時(shí),最常用到的一個自動調試功能(néng)就(jiù)是:監控并報告在運行時(shí)狀态下,參數在什麼(me)時(shí)候、哪個位置出現了非法值或越界值。這(zhè)能(néng)夠幫助發(fā)現運行時(shí)軟件中存在的與内存相關的很多問題。
 
如果能(néng)夠輕松地重現這(zhè)些問題,有經(jīng)驗的工程師就(jiù)能(néng)夠迅速插入一些 print 語句,來手動解決這(zhè)些問題。但是, 很多時(shí)候,這(zhè)些問題造成(chéng)的影響是很難重現的,而且可能(néng)隻是偶爾出現;這(zhè)樣(yàng)就(jiù)大大增加了發(fā)現、診斷、修複問題的難度,不僅費時(shí)而且成(chéng)本也極高。
 
使用 DT10 可以在所有的局部變量、全局變量、函數參數上放一個自動驗證器,隻要通過(guò)單擊,驗證器就(jiù)可以運轉。然後(hòu)就(jiù)可以讓軟件正常運行, 最長(cháng)可以捕獲長(cháng)達 32 天的數據。一旦我們監控的數據超出了有效範圍,或者出現非法值,DT10 就(jiù)可以在運行時(shí)捕獲這(zhè)些信息,并報告這(zhè)些違規行爲,這(zhè)些信息能(néng)有效幫助我們診斷并解決問題。這(zhè)能(néng)幫助嵌入式團隊節省很多時(shí)間,他們不再需要花那麼(me)多精力來重現并定位某個問題。
 
我們可以通過(guò)下面(miàn)的例子,來了解 DT10 在動态測試方面(miàn)的能(néng)力:
 
功能(néng)演示
 
嵌入式設備偶爾會(huì)出現錯誤行爲,據懷疑是下圖中處理傳感器數據的函數存在問題,但是還(hái)不能(néng)确定。


11.jpg

 
可以使用 DT10 在整個應用程序代碼中自動插入測試點,也可以在自己認爲可能(néng)存在問題的關鍵點上手動插入特 定的測試代碼。這(zhè)裡(lǐ),利用 DT10 在可能(néng)存在問題的函數上插入一個輸入數據自動驗證器,并設定一個符合軟件原始設計的許可範圍(如,0-20)。


12.jpg

 
隻要點擊 OK 按鈕,DT10 軟件就(jiù)會(huì)在源代碼上插入一個優化後(hòu)的測試點,對(duì)運行時(shí)的數據進(jìn)行自動驗證。


13.jpg

 
現在,可以將(jiāng)嵌入式軟件重新部署到實際應用的(或測試實驗室的)設備上,如果有需要的話,可以讓它運行 31 天,以便重現并捕獲那些難以發(fā)現的問題。
 
DT10 分析引擎會(huì)對(duì)獲取的信息進(jìn)行分析,并高亮顯示超過(guò)變量設定的預期範圍的情況。即使最終出現問題的地 方被(bèi)深深掩藏在追蹤日志的 Gigabytes 裡(lǐ)面(miàn),DT10 還(hái)是會(huì)準确地定位到問題重現的地方,可以精确到納秒:


14.jpg

 
DT10 也會(huì)提供“函數追蹤報告”,報告會(huì)對(duì)嵌入式軟件的行爲進(jìn)行圖形化分析,包括函數調用之間的關系和時(shí)序,這(zhè)些都(dōu)有助于診斷和修複軟件問題。


15.jpg

 
總結

 
如果應用程序的變量可以利用 DT10 自動監控并驗證值的範圍和合法性,那麼(me)通過(guò)長(cháng)時(shí)間執行,就(jiù)能(néng)夠定位到那些難以重現的問題,從而提高嵌入式産品的整體質量,幫助開(kāi)發(fā)人員和測試人員減少工作量,使他們能(néng)夠更好(hǎo)地集中精力從事(shì)其它具有附加價值的任務。