《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 適用于每個(gè)LabVIEW開(kāi)發(fā)者的巧妙調(diào)試技巧
適用于每個(gè)LabVIEW開(kāi)發(fā)者的巧妙調(diào)試技巧
Omar Mussa,Justin Goeres,
摘要: 如果您經(jīng)常使用NI LabVIEW軟件,當(dāng)軟件不能按照預(yù)期的情況運(yùn)行時(shí),您可能會(huì)有一個(gè)自己的調(diào)試技巧和技術(shù)工具箱。 這些技巧和技術(shù)有些是常用的,而剩下的可能是您自己摸索出來(lái)的。
Abstract:
Key words :

 

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

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

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

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

利用探針

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

保存連線值功能

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

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

自定義探針,無(wú)需編寫任何代碼

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

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

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

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

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

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

調(diào)用時(shí)掛起

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

  1. 在VI運(yùn)行之前隨意更改VI的控件值。
  2. VI返回調(diào)用程序時(shí)隨意更改顯示件的值。
  3. 重復(fù)運(yùn)行VI,而無(wú)需將執(zhí)行返回至調(diào)用程序。
  4. 完全跳過(guò)VI執(zhí)行,返回至調(diào)用VI。

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

對(duì)于調(diào)用時(shí)掛起功能,NI做了簡(jiǎn)要說(shuō)明,見(jiàn)此處。 然而,熟悉該功能的最佳方法還是親自動(dòng)手實(shí)踐。

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

FIRST(崇尚發(fā)揚(yáng)科學(xué)技術(shù))機(jī)器人競(jìng)賽團(tuán)隊(duì)推薦了一項(xiàng)技術(shù),這項(xiàng)技術(shù)對(duì)于專業(yè)的LabVIEW開(kāi)發(fā)人員也非常有用

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

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

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

執(zhí)行跟蹤

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

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

 

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

 

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

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

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

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

圖7. 手動(dòng)執(zhí)行追蹤具有風(fēng)險(xiǎn)(圖片采自O(shè)liver Widder)

 

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

單元測(cè)試

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

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

圖8. 你在哪里測(cè)試代碼?

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

  1. 單元測(cè)試具有可追溯性,可完整顯示漏洞的發(fā)生過(guò)程以及您如何將漏洞隔離
  2. 您或其他開(kāi)發(fā)者可隨時(shí)輕松驗(yàn)證或重新驗(yàn)證您的修復(fù),而無(wú)需記住激活漏洞的詳細(xì)信息。
  3. 單元測(cè)試可在您的項(xiàng)目中與其他測(cè)試一起自動(dòng)執(zhí)行,因此漏洞如果再次出現(xiàn),您可以立即知曉。

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久综合久久综合九色| 欧美在线观看日本一区| 欧美在线观看你懂的| 亚洲一区二区伦理| 国产亚洲欧美激情| 久久久久久穴| 亚洲欧洲日产国码二区| 亚洲精品永久免费| 国产精品毛片a∨一区二区三区|国| 亚洲欧洲av一区二区三区久久| 亚洲专区一区二区三区| 国产亚洲欧美日韩精品| 国产精品日韩在线观看| 裸体一区二区| 亚洲午夜精品| 欧美综合77777色婷婷| 亚洲大胆女人| 欧美性猛片xxxx免费看久爱| 性欧美长视频| 亚洲三级观看| 亚洲欧美久久久久一区二区三区| 国模私拍一区二区三区| 欧美日韩精品福利| 欧美一区二区三区久久精品| 亚洲激情婷婷| 亚洲日本欧美天堂| 日韩一区二区精品| 亚洲欧美一区二区三区在线| 国产精品综合久久久| 巨乳诱惑日韩免费av| 久久免费偷拍视频| 亚洲一区国产精品| 亚洲电影免费观看高清完整版在线观看 | 亚洲欧洲日产国产网站| 亚洲人成在线播放网站岛国| 亚洲欧洲精品一区二区精品久久久| 亚洲激情午夜| 亚洲作爱视频| 欧美一级专区| 一区二区三区精品国产| 国内久久精品视频| 在线观看日韩一区| 国产精品日韩久久久久| 国产日韩欧美三区| 欧美色精品天天在线观看视频| 久久欧美中文字幕| 欧美v国产在线一区二区三区| 午夜精彩视频在线观看不卡| 午夜欧美不卡精品aaaaa| 久久精品二区三区| 亚洲永久视频| 欧美一区二区三区在线免费观看| 久色婷婷小香蕉久久| 欧美日本一区二区三区| 久久精品视频网| 亚洲永久在线| 久久国产福利| 欧美激情麻豆| 免费日韩av| 欧美特黄视频| 国产一区二区三区日韩| 91久久黄色| 激情综合网激情| 国产亚洲精品7777| 亚洲电影视频在线| 中文一区字幕| 一本色道久久综合亚洲精品不 | 国产一区二区三区最好精华液| 亚洲国产一成人久久精品| 在线一区免费观看| 亚洲电影在线看| 亚洲自拍偷拍视频| 一区二区三区免费网站| 亚洲精品日韩精品| 午夜精品偷拍| 欧美欧美在线| 好看的av在线不卡观看| 国产亚洲精品久久飘花| 亚洲高清自拍| 亚洲国产精品va在线观看黑人| 亚洲午夜久久久久久久久电影院| 亚洲国产精品www| 午夜精品99久久免费| 欧美激情成人在线视频| 国产一区二区三区成人欧美日韩在线观看 | 亚洲人成精品久久久久| 亚洲国产日韩一区| 亚洲素人一区二区| 日韩视频一区二区三区在线播放免费观看 | 欧美高清视频一区二区三区在线观看| 国产精品影视天天线| 日韩视频在线一区二区三区| 亚洲日本成人网| 性欧美办公室18xxxxhd| 亚洲午夜免费福利视频| 欧美国产视频在线观看| 国产亚洲欧美激情| 亚洲一区三区视频在线观看| 一区二区三区国产在线| 免费观看成人鲁鲁鲁鲁鲁视频| 国产三区二区一区久久| 亚洲深夜福利网站| 亚洲视频你懂的| 亚洲欧美在线观看| 欧美久久婷婷综合色| 亚洲电影av| 久久精品盗摄| 亚洲美女视频网| 亚洲一二三区精品| 欧美成人精品在线| 欧美日韩国内自拍| 亚洲高清av| 久久精品毛片| 久久精品国产免费看久久精品| 国产精品青草综合久久久久99| 99国产精品一区| 亚洲欧美电影在线观看| 中文一区在线| 欧美日韩高清在线| 亚洲人成在线免费观看| 亚洲精品国精品久久99热一| 老司机精品视频网站| 黄色精品一区| 久久国产主播精品| 久久久国产精品一区| 国产在线一区二区三区四区| 久久aⅴ国产紧身牛仔裤| 久久久国产一区二区三区| 国产视频精品xxxx| 欧美一区在线看| 久久天天躁狠狠躁夜夜av| 国产综合在线看| 久久国产精品电影| 卡通动漫国产精品| 亚洲国产精品久久91精品| 亚洲精品视频二区| 欧美日韩一区成人| 国产一区二区精品久久91| 欧美一级专区免费大片| 久久在线免费视频| 雨宫琴音一区二区在线| 亚洲国产日韩欧美一区二区三区| 亚洲一区二区三区午夜| 欧美午夜视频在线| 亚洲男人影院| 久久久久五月天| 在线观看日韩av| 99在线热播精品免费99热| 欧美三区在线观看| 午夜欧美理论片| 久久亚洲欧洲| 亚洲精品老司机| 午夜精品久久| 狠狠干狠狠久久| 日韩一二三在线视频播| 欧美日韩一区高清| 香蕉久久国产| 欧美大香线蕉线伊人久久国产精品| 亚洲精品影院| 西西人体一区二区| 狠狠入ady亚洲精品| 夜夜夜久久久| 国产农村妇女精品一区二区| 久久精品日韩| 欧美日韩精品系列| 小嫩嫩精品导航| 欧美电影电视剧在线观看| 日韩视频在线永久播放| 欧美制服第一页| 亚洲第一黄网| 亚洲欧美日韩一区在线| 好吊妞这里只有精品| 一区二区三区产品免费精品久久75| 国产精品欧美日韩一区| 亚洲国产精品精华液2区45| 欧美巨乳波霸| 性色一区二区| 欧美日本高清| 欧美一区二区视频97| 欧美日本一区| 久久成人久久爱| 欧美亚日韩国产aⅴ精品中极品| 久久aⅴ国产欧美74aaa| 欧美日韩亚洲综合在线| 久久黄金**| 国产精品久久久久久久第一福利| 亚洲国产精品久久人人爱蜜臀 | 国产主播在线一区| 亚洲视频日本| 激情视频一区| 午夜亚洲精品| 亚洲激情在线观看视频免费| 欧美一区二区三区的| 亚洲全黄一级网站| 久久精品亚洲精品| 一本久道综合久久精品| 美女被久久久| 午夜激情一区| 欧美性事免费在线观看| 亚洲精品乱码久久久久久蜜桃麻豆 |