MATLAB 程式设计入门篇程式除错课件.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
離開除錯模式後的動作 進入除錯模式後,可檢查任何變數的值,也可以執行其他任何指令或手稿(script)。 檢查完畢後,可能採取的動作有: 指 令 格 式 說 明 dbcont 繼續執行程式 dbstep n 執行 n 列程式碼 dbtype filename 列出程式碼 dbdown 向下切換至另一個工作空間 dbup 向上切換至另一個工作空間 dbstack 列出函數呼叫過程中的堆疊 dbquit 跳出除錯模式 精品文档 dbstep 的格式及說明 dbstep可以一次執行一列或多列程式碼,或是進入或跳出一個指令的內部程式碼 。 指 令 格 式 說 明 dbstep 執行下一列程式碼 dbstep n 執行下 n 列程式碼 dbstep in 進入下一列指令的程式碼 dbstep out 跳出目前指令的程式碼 精品文档 dbclear及dbstatus 的用法 dbclear 用於取消中斷點,用法與dbstop的格式同,只需將dbstop改成dbclear。若要清除所有的中斷點,可用 dbclear all。 dbstatus 可列出所有的中斷點。 指 令 格 式 說 明 dbstatus 列出所有中斷點 dbstatus filename 列出在一檔案中的中斷點 s = dbstatus(…) 將中斷點的資訊傳回變數 s 精品文档 實例:計算一向量的倒數和 範例: recipsum.m 此函數包含一錯誤,執行時即會出現: type recipsum function out = recipsum(x) recip = reciproc(x); out = sum(recip); function output = reciproc(input) output = 1./x; recipsum([1 2 3]) ??? Input argument x is undefined. Error in == D:\matlabBook\MATLAB程式設計:基本篇\17-程式除錯\recipsum.m On line 3 == recip = reciproc(x); 精品文档 使用dbstop及dbstatus 讓MATLAB 停留在產生錯誤訊息的函數: dbstop if error 確認所建的中斷條件:    dbstatus                Stop if error. 再呼叫原函數,會停在錯誤發生的程式碼: 精品文档 使用dbstack及dbtype 此時可在指令視窗使用 dbstack 來顯示 MATLAB 所在的函數: 亦可用 dbtype 來顯示程式碼: k dbstack In recipsumreciproc at 7 In recipsum at 3 k dbtype 1 function out = recipsum(x) 2 3 recip = reciproc(x); 4 out = sum(recip); 5 6 function output = reciproc(input) 7 output = 1./x; 精品文档 使用dbquit、dbup及dbdown 在除錯器中將x改成input,則正確答案為: 當程式暫停執行於一個函數時,可以使用 dbup 及 dbdown 來跳到不同的工作空間,以便檢視各變數。 k dbquit % 離開除錯模式 recipsum1([1 2 3]) ans = 1.8333 精品文档 設立中斷條件 上述範例修正後的檔案為recipsum1.m,執行時還是可能會有問題 = Divide by zero. 另設一個中斷條件來檢查錯誤所在,再呼叫函數: recipsum1([2 0 2]) ans = Inf dbstop if naninf recipsum1([2 0 2]) NaN/Inf breakpoint hit for recipsum1 on

文档评论(0)

liuxiaoyu98 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档