若在運(yùn)行VI后得到了非預(yù)期數(shù)據(jù),或希望更多地了解程序框圖數(shù)據(jù)流,可以利用調(diào)試技術(shù)了解程序運(yùn)行的過程,以發(fā)現(xiàn)并糾正VI或程序框圖數(shù)據(jù)流的問題。調(diào)試VI時(shí),可以使用如下的工具和操作。
1.高亮顯示執(zhí)行過程
單擊程序框圖工具欄中的高亮顯示執(zhí)行過程按鈕齪,可以查看程序框圖的動(dòng)態(tài)執(zhí)行過程。該工具通過沿連線移動(dòng)的圓形點(diǎn)顯示數(shù)據(jù)在程序框圖上從一個(gè)節(jié)點(diǎn)移動(dòng)到另一個(gè)節(jié)點(diǎn)的過程。使用高亮顯示執(zhí)行過程的同時(shí),結(jié)合單步執(zhí)行,可以查看VI中的數(shù)據(jù)從一個(gè)節(jié)點(diǎn)移動(dòng)到另一個(gè)節(jié)點(diǎn)的全過程。不過值得注意的是,高亮顯示執(zhí)行過程會(huì)導(dǎo)致Ⅵ運(yùn)行程序的速度大幅度降低。
2.保存連線值
單擊程序框圖工具欄中的保存連線值按鈕,可以在程序運(yùn)行時(shí)保存流過連線的數(shù)據(jù)流的值。
3.單步執(zhí)行
單步執(zhí)行可以查看VI運(yùn)行時(shí)程序框圖上的每個(gè)執(zhí)行步驟。單步執(zhí)行按鈕僅在單步執(zhí)行模式下影響Ⅵ或子Ⅵ的運(yùn)行,在運(yùn)行模式下不影響Ⅵ的運(yùn)行。
單擊程序框圖工具欄中的開始單步執(zhí)行按鈕(單步步入)和開始單步執(zhí)行按鈕(單步步過)按鈕進(jìn)入單步執(zhí)行模式。將光標(biāo)移至單步步入、單步步過或單步步出按鈕上,可以看到一個(gè)提示框,提示框中描述了單擊按鈕后下一步的執(zhí)行情況。
如果單步執(zhí)行Ⅵ同時(shí)選擇高亮顯示執(zhí)行過程,則該執(zhí)行符號(hào)將出現(xiàn)在當(dāng)前運(yùn)行的子VI的圖標(biāo)上。
4.探針
使用探針工具可以查看流過連線的數(shù)據(jù)。在程序框圖工具選板中選擇探針數(shù)據(jù)按鈕,將光標(biāo)放置在對(duì)象上,或右鍵單擊連線從彈出的快捷菜單中選擇“自定義探針→通用探針”,即可使用通用探針。
5.?dāng)帱c(diǎn)
使用工具選板中的斷點(diǎn)工具可以在程序框圖上的Ⅵ、節(jié)點(diǎn)或連線上設(shè)置一個(gè)斷點(diǎn),使程序運(yùn)行到斷點(diǎn)時(shí)暫停執(zhí)行。
在連線上設(shè)置斷點(diǎn)后,數(shù)據(jù)流過該連線后程序?qū)和?zhí)行。在程序框圖上設(shè)置一個(gè)斷點(diǎn),使程序框圖在所有節(jié)點(diǎn)執(zhí)行后暫停執(zhí)行。Ⅵ暫停于某個(gè)節(jié)點(diǎn)或連線上的斷點(diǎn)時(shí),程序框圖窗口將作為當(dāng)前窗口彈出,同時(shí)一個(gè)選取框?qū)⒏吡溜@示含有斷點(diǎn)的節(jié)點(diǎn)或連線。將光標(biāo)移動(dòng)到斷點(diǎn)上時(shí),斷點(diǎn)工具光標(biāo)的黑色區(qū)域變成白色。
程序執(zhí)行到斷點(diǎn)暫停時(shí),暫停按鈕顯示為紅色,可進(jìn)行以下操作。
(1)使用單步執(zhí)行按鈕單步執(zhí)行程序;
(2)在連線上添加探針查看中間數(shù)據(jù);
(3)改變前面板控件的值;
(4)單擊暫停按鈕繼續(xù)運(yùn)行到下一個(gè)斷點(diǎn)處或程序結(jié)束(沒有下一個(gè)斷點(diǎn)時(shí))。
來源:ks990次