相見恨晚的MATLAB調(diào)試方式:dbstop if error

因?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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評(píng)論 18 139
  • 程序調(diào)試的基本思想是“分析現(xiàn)象->假設(shè)錯(cuò)誤原因->產(chǎn)生新的現(xiàn)象去驗(yàn)證假設(shè)”這樣一個(gè)循環(huán)過程,根據(jù)現(xiàn)象如何假設(shè)錯(cuò)誤原...
    Manfred_Zone閱讀 16,573評(píng)論 0 26
  • 你是否曾經(jīng)苦惱于理解你的代碼,而去嘗試打印一個(gè)變量的值? NSLog(@"%@", whatIsInsideThi...
    paraneaeee閱讀 1,214評(píng)論 0 7
  • error code(錯(cuò)誤代碼)=0是操作成功完成。error code(錯(cuò)誤代碼)=1是功能錯(cuò)誤。error c...
    Heikki_閱讀 3,452評(píng)論 1 9
  • 我是不喜歡選擇的人,一遇選擇便無所事從,我喜歡低照規(guī)范。規(guī)程來做事,亦如我的工作。
    宋世巍閱讀 96評(píng)論 0 0