1、bug出現(xiàn)描述:在編程時(shí)碰到一個(gè)for循環(huán)的Bug,因?yàn)锽ug的隱蔽性,我花了我很長(zhǎng)時(shí)間才排查出來。
2、bug具體描述如下:如果一個(gè)數(shù)據(jù)通過for循環(huán),for循環(huán)序號(hào)數(shù)為零或者是通過索引數(shù)組為空數(shù)組,那個(gè)通過的這個(gè)數(shù)據(jù)將被初始化為默認(rèn)值,如果在Actor Framework中還會(huì)造成軟件閃退,定位錯(cuò)誤為元素同址訪問錯(cuò)誤。
3、bug復(fù)現(xiàn):
我們分別創(chuàng)建數(shù)值,數(shù)組,和類分別通過一個(gè)空數(shù)組索引的循環(huán)看看結(jié)果。
下邊是循環(huán)數(shù)為1時(shí)的結(jié)果(正常情況):
循環(huán)數(shù)為0(第一種bug情況):
使用空數(shù)組索引(第二種bug情況):
這種情況更加隱蔽,我碰到的是這一個(gè),上面一個(gè)是我思考可能出現(xiàn)的原因。
解決方案:
將數(shù)值輸入輸出改為移位寄存器:
審核編輯:郭婷
-
LabVIEW
+關(guān)注
關(guān)注
1995文章
3670瀏覽量
333924 -
編程
+關(guān)注
關(guān)注
88文章
3686瀏覽量
94958
原文標(biāo)題:LabVIEW的編程之道—for循環(huán)的一個(gè)Bug
文章出處:【微信號(hào):LabVIEW的編程之道,微信公眾號(hào):LabVIEW的編程之道】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Arduino與LabVIEW聯(lián)合編程指南
溫度(濕熱)循環(huán)試驗(yàn)箱在鋰硫電芯測(cè)試中的應(yīng)用

循環(huán)水設(shè)備PLC數(shù)據(jù)采集解決方案

中軟國(guó)際打造企業(yè)上云服務(wù)解決方案
技術(shù)干貨驛站 ▏深入理解C語言:嵌套循環(huán)與循環(huán)控制的底層原理

EEPROM編程常見錯(cuò)誤及解決方案
物聯(lián)數(shù)據(jù)中臺(tái)是什么意思?AI+IOT物聯(lián)網(wǎng)中臺(tái)平臺(tái)解決方案

中微愛芯循環(huán)風(fēng)扇整體解決方案

BCM中的開關(guān)檢測(cè):集成MSDI解決方案與半分立解決方案

可編程按鈕、脈沖檢測(cè)器和脈沖發(fā)生器解決方案

可編程邏輯控制器——安全威脅和解決方案

評(píng)論