失控的程式,泛指程式不明的動作、停止等不如預期的動作,當這種情況發生時,是一個很大的警訊,代表程式楚於不穩定狀態,無法正確的行為,若是這失控的行為是隨機發生的,那更需要注意了! 也許目前發生的失控行為只是冰山一角而已,背後隱藏的程式問題,可能更多,才會導致隨機失控行為。
以下是給失控的程式處理方式的一些建議:
1.是否使用local variable作為程式運轉或停止條件
=>將local改成 global , 另開一個VI監看其變數數值是否符合期待
2. 是否使用while loop,作為程式運轉或停止條件
=> 讀出 While Loop 的Iteration Terminal (i),監視其while loop是否還有再運作
3. 是否出現race condition狀況,造成程式停止/運行的條件異常 (之前有篇文章有介紹什麼是Race Condition可以參考)
=>減少使用local、global等變數,使用Functional Global Variable 或是 Synchronization VI 取代
4.使用適合的程式架構來確保程式運行的順序
=>例如使用State Machine、Producer & Consumer 、State Machine+Queue應用的程式架構
如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~
全站熱搜
留言列表