因?yàn)橄朐赥erminal中調(diào)試MATLAB程序,誤打誤撞認(rèn)識(shí)了dbstop if error。這個(gè)命令可謂相見恨晚??,誰用誰受益??,不得不再多介紹一下。
MATLAB編程中有一些常見的錯(cuò)誤,比方維數(shù)不匹配問題。如果這個(gè)錯(cuò)誤在函數(shù)的內(nèi)部,我們通常需要至少運(yùn)行兩次程序才能通過調(diào)試解決問題:第一次運(yùn)行程序,程序報(bào)錯(cuò)后,因?yàn)橐呀?jīng)退出了出錯(cuò)的函數(shù),不能進(jìn)行調(diào)試;第二次運(yùn)行前,在出錯(cuò)的函數(shù)內(nèi)部手動(dòng)設(shè)置斷點(diǎn),第二次運(yùn)行程序并進(jìn)行調(diào)試。
在這種情況下,比起多次運(yùn)行程序和手動(dòng)設(shè)置斷點(diǎn),MATLAB更有效率的調(diào)試方式是使用dbstop if error。當(dāng)MATLAB運(yùn)行程時(shí),MATLAB遇到錯(cuò)誤就會(huì)停在發(fā)生錯(cuò)誤的那一行代碼,直接就可以進(jìn)行調(diào)試,不需要再運(yùn)行一次。
在MATLAB編程中還有不經(jīng)常遇到的錯(cuò)誤,在第一次運(yùn)行前,你不知道應(yīng)該在什么位置設(shè)置斷點(diǎn)。這種情況下使用dbstop if error可謂是未雨綢繆,以逸待勞??
dbstop if error可以在命令行和程序中用的, 也可以在GUI中進(jìn)行設(shè)置,參考下面的視頻和相關(guān)的網(wǎng)頁(yè)。
[使用dbstop if error](https://cn.mathworks.com/videos/using-dbstop-if-error-97326.html)
[使用dbstop if error查找MATLAB中的偶發(fā)錯(cuò)誤](https://cn.mathworks.com/videos/finding-infrequent-errors-in-matlab-with-dbstop-if-error-97129.html)