MATLAB具有和VC类似的调试功能,各功能的按钮图标和VC也很相似,基本可以使用VC的调试思想。
MATLAB自己的特点:
一. 查看中间变量。
1. 在调试状态下,鼠标放在变量上就可以显示变量的基本信息。
2. 在调试状态下,在命令行输入变量或表达式就可以显示其结果,调试状态不受命令窗口输入数据的影响。
3. 对于多次循环,很难手动找到出错断点的程序,由于MATLAB会告诉你在哪一行出的错,故可以在出错位置的前面让程序输出可以变量的值,或者进行一些可行的判断,从而确定出错原因。
二. 递归调试。
一般调试过程中如果走到某个函数的位置,默认认为该位置为一条命令,使用Nest Step不会进入函数,如果想进入函数可以使用Step Out(F11)进入函数查看,想退出时可以使用Step Out。
在递归的调试中由于被调函数是递归的,所以Nest Step会进入递归函数,并且会回到函数的最上面,此时要明白,这个位置是刚才子函数的位置,而不是原来函数执行的方向改变了,同时MATLAB也会在调用递归函数的地方有一个向下的箭头标记。
在绝大多数情况下,怎么想也想不明白的错误,通过递归往往都可以找到错误原因,只要有耐心,合理利用一些技巧,很快就可以找到错误。
MATLAB自己的特点:
一. 查看中间变量。
1. 在调试状态下,鼠标放在变量上就可以显示变量的基本信息。
2. 在调试状态下,在命令行输入变量或表达式就可以显示其结果,调试状态不受命令窗口输入数据的影响。
3. 对于多次循环,很难手动找到出错断点的程序,由于MATLAB会告诉你在哪一行出的错,故可以在出错位置的前面让程序输出可以变量的值,或者进行一些可行的判断,从而确定出错原因。
二. 递归调试。
一般调试过程中如果走到某个函数的位置,默认认为该位置为一条命令,使用Nest Step不会进入函数,如果想进入函数可以使用Step Out(F11)进入函数查看,想退出时可以使用Step Out。
在递归的调试中由于被调函数是递归的,所以Nest Step会进入递归函数,并且会回到函数的最上面,此时要明白,这个位置是刚才子函数的位置,而不是原来函数执行的方向改变了,同时MATLAB也会在调用递归函数的地方有一个向下的箭头标记。
在绝大多数情况下,怎么想也想不明白的错误,通过递归往往都可以找到错误原因,只要有耐心,合理利用一些技巧,很快就可以找到错误。