- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程式除错
* * * * * * * * * * * * * * * * MATLAB 程式設計入門篇:動畫製作 MATLAB 程式設計入門篇程式除錯 張智星 (Roger Jang) jang@ /~jang 清大資工系 多媒體檢索實驗室 17-1 簡介 MATLAB 的除錯器(Debugger)功能包含: 查詢每一個函數的工作空間(Workspace) 顯示函數呼叫過程中的的堆疊(Function Call Stack) 一列一列地執行 M 檔案(Step-by-step Execution) 一般程式語言的錯誤分類 語法錯誤 邏輯錯誤 17-2 一般除錯技巧(1/2) 一般偵測邏輯錯誤的方法: 去除運算式最尾端的分號,運算式執行的結果會印在 MATLAB 指令視窗中。 在程式中加入 keyboard 指令,可使程式執行至此處即暫停,並顯示“k ”的提示號(k 代表 keyboard),以便查看或改變工作空間的任何變數,若要繼續執行程式,可在 MATLAB 指令視窗下輸入“return”並按下 Enter 鍵。 17-2 一般除錯技巧(2/2) 使用判斷式及 fprintf 指令印出變數的值。 在除錯一個單獨函數時,可在其第一列的函數宣告列加上 %,並定義輸入引數的值,此時我們就可以直接以腳本(Scripts)的方式來執行此 M 檔案,並保留所有變數於 MATLAB 工作空間之中。 使用 MATLAB 的除錯器。 17-3以命令列為主的除錯程式(1/2) 語 法 功 能 dbstop at line# in filename 設定中斷點(Break Points) (line# 代表行號,filename 代表檔案名稱) dbclear at line# in filename 清除中斷點 (line#代表行號,filename 代表檔案名稱) dbstop if warning dbstop if error dbstop if naninf dbstop if infnan 若遇到「警告」(Warning)、「錯誤」(Error)、或「非數值/無窮大」(NaN/Inf),則暫停程式執行 17-3以命令列為主的除錯程式(2/2) dbcont 從暫停狀態繼續執行 dbstackdbstatus filename 列出某檔案的所有中斷點 (filename 代表檔案名稱) dbstep n 執行 n 列指令 dbtype filename 列出檔案內容(包含每列編號) (filename 代表檔案名稱) dbdown 向下進入局部的工作空間 dbup 向上進入呼叫端的工作空間 dbquit 離開除錯模式 dbstop 的一般格式及相關說明 可以利用dbstop來指定程式碼的中斷點 指 令 格 式 說 明 dbstop in filename at line# 停止執行於某檔案的某行 dbstop in filename at subfunction 停止執行於某檔案的次函數 dbstop in filename 停止執行於某檔案 dbstop if error 若出現錯誤,則暫停程式執行,並停留在發生錯誤的工作空間 dbstop if warning 若出現警告,則暫停程式執行,並停留在發生警告的工作空間 dbstop if naninf dbstop if infnan 若出現 nan 或 inf,則暫停程式執行,並停留在發生 nan 或 inf的工作空間 離開除錯模式後的動作 進入除錯模式後,可檢查任何變數的值,也可以執行其他任何指令或手稿(script)。 檢查完畢後,可能採取的動作有: 指 令 格 式 說 明 dbcont 繼續執行程式 dbstep n 執行 n 列程式碼 dbtype filename 列出程式碼 dbdown 向下切換至另一個工作空間 dbup 向上切換至另一個工作空間 dbstack 列出函數呼叫過程中的堆疊 dbquit 跳出除錯模式 dbstep 的格式及說明 dbstep可以一次執行一列或多列程式碼,或是進入或跳出一個指令的內部程式碼 。 指 令 格 式 說 明 dbstep 執行下一列程式碼 dbstep n 執行下 n 列程式碼 dbs
您可能关注的文档
- 砾石覆盖对土壤水热过程及旱作小麦玉米产量的影响-IngentaConnect.PDF
- 砸唧一-高校化学工程学报.PDF
- 2003-2004学年第一学期摸底考试.DOC
- 硒对后肠微生物酵解作用和结肠癌的影响.PDF
- 硕士学位论文含氮杂环化合物的合成研究.PDF
- 硕研资工一甲M98G0103杨智雁脸部照片辨识系统设计摘要:本次.DOC
- 硅微熔传感器.PDF
- 硅中的杂质扩散.PPT
- 2005年广西壮族自治区建筑工程消耗量定额问题解答.DOC
- 2006总统府之美摄影比赛-高雄捷运.DOC
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)