當前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]成為LabVIEW漏洞修復(fù)高手如果您經(jīng)常使用NI LabVIEW軟件,當軟件不能按照預(yù)期的情況運行時,您可能會有一個自己的調(diào)試技巧和技術(shù)工具箱。 這些技巧和技術(shù)有些是常用的,而剩下的可能是您自己摸索出來的。圖1.巧妙的調(diào)

成為LabVIEW漏洞修復(fù)高手

如果您經(jīng)常使用NI LabVIEW軟件,當軟件不能按照預(yù)期的情況運行時,您可能會有一個自己的調(diào)試技巧和技術(shù)工具箱。 這些技巧和技術(shù)有些是常用的,而剩下的可能是您自己摸索出來的。

圖1.巧妙的調(diào)試方法能夠清除漏洞。 (Brian Searle攝)

我們與JKI的LabVIEW程序架構(gòu)師 ( Certified LabVIEW Architects, CLA ) 以及LabVIEW社區(qū)的朋友進行了交流,向他們學(xué)習(xí)一些快速識別、隔離和修復(fù)漏洞的“絕密”技巧。我們了解到以下幾個巧妙的調(diào)試技巧。

利用探針

探針是LabVIEW調(diào)試的第一個也是最簡單的工具,但它們卻是非常強大的工具。您可極其輕松地將探針置于線路上,在查找問題過程中不斷獲取信息。 以下是探針的幾個功能:

保存連線值功能

LabVIEW開發(fā)環(huán)境中的保存連線值功能經(jīng)常會被忽略。 當您啟用某個VI的連線值保存功能時,LabVIEW將自動存儲該VI框圖上每根連線的最后一個值。 然后,將光標懸停在任一連線上,即使該VI未運行,探針工具也將出現(xiàn)提示信,顯示該連線最后一個值。

圖2.保存連線值按鈕就在“燈泡”圖標旁邊。

自定義探針,無需編寫任何代碼

運用LabVIEW自定義探針,您無需編寫任何代碼就可創(chuàng)建強大、復(fù)雜的調(diào)試工具。 例如,您可在“自定義探針”>>“控件”>> “波形圖”中創(chuàng)建顯示任意數(shù)字連線的先前值的“歷史探針”。 這可幫助您發(fā)現(xiàn)您正在探究的數(shù)據(jù)的模式或趨勢,而無需編寫特殊的探針代碼。

圖3. 使用波形圖探針顯示簡單數(shù)字連線的歷史值。

從LabVIEW工具網(wǎng)絡(luò)獲取自定義探針

借用他人創(chuàng)建的探針來擴展您的工具箱。 SAPHIR在LabVIEW工具網(wǎng)絡(luò)上提供了一系列免費的自定義LabVIEW探針。 您只需下載安裝VI軟件包管理器 (VIPM)社區(qū)版(也是免費的)、搜索ViBox,再通過幾次單擊就可安裝探針。

如果您正在使用LabVIEW 2011,您還可通過單擊LabVIEW入門指南窗口的“查找LabVIEW附加工具...”從LabVIEW工具網(wǎng)絡(luò)上獲取ViBox。

圖4.使用VIPM安裝SAPHIR自定義探針。

調(diào)用時掛起

許多LabVIEW程序架構(gòu)師甚至不知道LabVIEW具備該項功能。“調(diào)用時掛起”功能可將執(zhí)行掛起,使您可以進行以下任一或所有操作:

1. 在VI運行之前隨意更改VI的控件值。

2. VI返回調(diào)用程序時隨意更改顯示件的值。

3. 重復(fù)運行VI,而無需將執(zhí)行返回至調(diào)用程序。

4. 完全跳過VI執(zhí)行,返回至調(diào)用VI。

圖 5. 在子VI節(jié)點設(shè)置窗口中,選擇“調(diào)用時掛起”功能。

對于調(diào)用時掛起功能,NI做了簡要說明,見此處。 然而,熟悉該功能的最佳方法還是親自動手實踐。

未連線的前面板控件和顯示件

為FIRST(崇尚發(fā)揚科學(xué)技術(shù))機器人競賽團隊推薦了一項技術(shù),這項技術(shù)對于專業(yè)的LabVIEW開發(fā)人員也非常有用

Ben建議在VI中添加前面板控件或顯示控件,但并不與連線板連接。 這些控件和顯示件與“調(diào)試”輸入或輸出工作方式類似,您可在測試時對其進行手動控制。 這可使您更容易在應(yīng)用中生成偶然或極端事件,而無需繁多的支持或仿真代碼的寫入。

您還可以在已建應(yīng)用程序中使用這些調(diào)試控件和顯示件,前提是LabVIEW應(yīng)用程序生成器包含了VI前面板。

參閱LVMastery.com上的介紹,進一步了解Ben建議的調(diào)試子VI。

執(zhí)行跟蹤

如果其他方法都失敗的情況下,有時您所能做的只有逐步跟蹤代碼。 遇到此類問題時,您可通過幾種方法在LabVIEW內(nèi)進行執(zhí)行跟蹤。

最明顯的方法是使用LabVIEW中內(nèi)置的“高亮顯示執(zhí)行”功能,也稱為“燈泡”。 如果說探針是LabVIEW調(diào)試的首要工具,燈泡則位列第二。 但是,如果碰到復(fù)雜或是時間相關(guān)的漏洞,您則可選擇其他更有效的工具。

圖6. 執(zhí)行跟蹤功能比燈泡功能更多。

跟蹤磁盤或內(nèi)存

啟動執(zhí)行跟蹤的一個簡單方法是在其中一個子VI中記錄一個連線值。 您可編寫一個簡單的VI,將該值記錄到文件中,或甚至可創(chuàng)建一個自定義探針來顯示連線的歷史值。 通常通過這樣一個簡單的跟蹤您就可收集足夠的信息來幫助您找到漏洞的原因。

NI LabVIEW桌面執(zhí)行跟蹤工具包

如果要調(diào)試一個大型的高度并行應(yīng)用程序,則包含NI開發(fā)者套件 2011的LabVIEW桌面執(zhí)行跟蹤工具包就是您進行LabVIEW代碼分析的“利器”。 它可提供關(guān)于正在運行的應(yīng)用程序的各種信息,包括詳細的內(nèi)存分配和再分配、事件生成、由代碼定義的自定義信息。 Austin LabVIEW程序架構(gòu)師論壇的創(chuàng)建人之一Fabiola De la Cueva指出該工具包可用于調(diào)試已崩潰的應(yīng)用程序,因為它是獨立于LabVIEW之外運行的。

圖7. 手動執(zhí)行追蹤具有風險(圖片采自O(shè)liver Widder)

專業(yè)的LabVIEW開發(fā)人員很慶幸,因為LabVIEW桌面執(zhí)行跟蹤工具包已包含在NI開發(fā)者套件2011之中,不會產(chǎn)生額外的費用。

單元測試

測試驅(qū)動開發(fā)(TDD) 是一種軟件工程技術(shù),可幫助您從頭創(chuàng)建更好的代碼,同時它也是幫助您調(diào)試現(xiàn)有代碼的一個有效工具。

在TDD中,當您發(fā)現(xiàn)應(yīng)用程序存在漏洞時,調(diào)試流程的第一個步驟就是創(chuàng)建一個可重現(xiàn)漏洞并導(dǎo)致測試失敗的單元測試。只有到那時候,您才確實可以開始嘗試修復(fù)問題。 如果單元測試通過,則表明您已清除了該漏洞。

圖8. 你在哪里測試代碼?

這種漏洞修復(fù)方法需要費點時間,但是相比其他較不精確的方法,它具有以下幾個優(yōu)點:

1. 單元測試具有可追溯性,可完整顯示漏洞的發(fā)生過程以及您如何將漏洞隔離

2. 您或其他開發(fā)者可隨時輕松驗證或重新驗證您的修復(fù),而無需記住激活漏洞的詳細信息。

3. 單元測試可在您的項目中與其他測試一起自動執(zhí)行,因此漏洞如果再次出現(xiàn),您可以立即知曉。

針對單元測試有兩個主要的LabVIEW附加工具,TDD方法可以與另一個一同使用。 查看JKI的免費VI測試儀LabVIEW附加工具或參閱Eli Kerry的LabVIEW軟件工程指南,進一步解LabVIEW單元測試框架工具包,它已包含在NI開發(fā)者套件之內(nèi)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉