- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十九章
程式除錯
本章重點
一個優秀的程式設計員,必需能善用程式除錯的工
具 ,並熟悉程式除錯的技巧。本章介紹MATLAB
常用的程式除錯技巧,以及相關的程式除錯工具。
MATLAB 程式設計與應用
19-1 程式除錯概述
MATLAB 的除錯器 (Debugger )可以迅速地幫您找出您程式錯誤所
在 ,其功能包含:
1. 查詢每一個函式的工作空間 (Workspace )
2. 顯示函式呼叫的堆疊 (Function Call Stack )
3. 一列一列地執行 M 檔案
MATLAB 除錯器包含一組以指令列為主的指令,這些指令可以通用在
所有的平台。除此之外,在 PC 及 Mac 平台上 ,MATLAB 除錯器亦提
供方便的使用者圖形介面。本章將介紹以指令列為主的除錯指令,以
及在 PC 及Mac上的相關使用者介面。但在介紹這些除錯函式之前,
我們還是要先說明 MATLAB 程式的一般除錯技巧 ,這些除錯技巧並
不需要用到任何特殊的除錯指令。
19-2 一般除錯技巧
一般而言 ,電腦程式可能發生的錯誤可分兩種
l 語法錯誤 (Syntax Errors )
l 邏輯錯誤 (Logic Errors )
對於前者,MATLAB 會發現大部份的語法錯誤,並顯示相關的錯誤訊
息,因此語法錯誤是相當容易解決的。但對於邏輯錯誤而言,MATLAB
會在執行完畢後產生不合理的結果,但此時所有函式的工作空間都已
消失 ,因此在除錯上困難度較高。
一般偵測邏輯錯誤的方法 ,有下列幾種:
19-2
MATLAB 系列叢書å
Chapter 19 程式偵錯
1. 去除運算式最尾端的分號。去掉分號後,MATLAB 會將運算
式執行的結果印在 MATLAB 指令視窗中 ,我們就可以據以找
出可能發生錯誤的地方。
2. 若是在除錯一個單獨函式時 ,可在其第一列的函式宣告列加
上 % ,並定義輸入引數的值,此時我們就可以直接以腳本
(Scripts )的方式來執行此 M 檔案 ,並保留所有變數於
MATLAB 工作空間之中 ,以便後續察看及除錯。
3. 在程式中加入 keyboard 指令 ,可使程式執行至此處即暫停,
並顯示“k ”的提示號 (k 代表 keyboard )。此時我們可以任
意查看或改變工作空間的任何變數。若要繼續執行程式,可
在 MATLAB 指令視窗下輸入“return”並按下 Enter 鍵 。
4. 使用 MATLAB 除錯程式。善用這些除錯函式,可以迅速地找
出您的程式錯誤,詳見下兩節說明。
19-3 以命令列為主的除錯程式
以指令列為主的除錯函式可用於各種不同平台 ,其功能可列表如下:
語 法 功 能
設定中斷點 (Break Points )
dbstop at line# in filename (line# 代表行號,filename 代表檔案名
稱)
您可能关注的文档
最近下载
- 淘宝买菜业务题库.docx VIP
- 欧洲的工工业化与劳工运动的兴起.pptx
- Testing for competence rather than for “intelligence:(测试的能力,而不是u201C情报).pdf
- 《集中用餐单位落实食品安全主体责任监督管理规定》解读与培训.pptx VIP
- ML梅花形弹性联轴器选型参数表.pdf VIP
- 黄原胶发酵工厂设计.doc VIP
- 年产1000吨黄原胶发酵工厂的设计.docx VIP
- TCITS 181-2024 基于黑黄红色彩学的中国女性面部肤色定量测试与评价方法.docx VIP
- 儿童心理问题的早期干预与疏导.pptx VIP
- 力劲冷室压铸机液压原理分析.doc
文档评论(0)