调试时检验值
调试代码文件时,可以在暂停 MATLAB® 时查看工作区中当前任何变量的值。如果您要确定一行代码是否产生预期的结果,检查值是很有用的做法。如果结果符合预期,您可以继续运行代码或步进到下一行。如果结果不符合预期,则该行或上一行可能包含错误。
查看变量值
在调试时有多种方法可查看变量的值:
“工作区”面板 -“工作区”面板显示当前工作区中的所有变量。“工作区”面板的值列中显示变量的当前值。要查看更多详细信息,请双击该变量。变量编辑器随即打开,并显示该变量的内容。您也可以使用
openvar函数在变量编辑器中打开变量。
编辑器和实时编辑器 - 要在编辑器和实时编辑器中查看变量值,请将光标放在变量上。该变量的当前值将显示在数据提示中。数据提示会一直在视图中,直到您移动光标。如果在显示数据提示时遇到问题,请点击包含该变量的行,然后将指针移至靠近该变量。
在编辑器中调试时始终启用数据提示。要在实时编辑器中禁用数据提示或在编辑器中编辑文件时禁用数据提示,请转至视图选项卡,然后点击
数据提示按钮以将其关闭。
您也可以查看变量或方程的值,方法是在编辑器和实时编辑器中选择它,右键点击,然后选择在命令行窗口中执行所选内容。MATLAB 会在命令行窗口中显示变量或方程的值。
注意
您不能在 MATLAB 忙碌时(例如在运行文件时)执行所选内容。
命令行窗口 - 要在命令行窗口中查看变量的值,请键入变量名称。例如,要查看变量
n的值,请键入n,然后按 Enter。命令行窗口会显示变量名及其值。要查看当前工作区中的所有变量,请调用who函数。
查看当前工作区之外的变量值
当您调试函数或步入被调函数或文件时,“调试器”面板会显示在函数调用堆栈部分中的当前行暂停之前已执行的函数的列表。该列表(也称为函数调用堆栈函数)按顺序显示各函数,其中 MATLAB 暂停的当前脚本或函数位于列表顶部,第一个调用的脚本或函数位于列表底部。 (自 R2025a 起)
要打开“调试器”面板(如果它尚未打开),请转至编辑器或实时编辑器选项卡,在分析部分中,点击
调试器。您还可以使用边栏上的“打开更多面板”按钮
打开面板。

在 R2025a 之前的版本中: 该函数调用堆栈表显示在文件的顶部,按顺序显示各函数,最左侧是第一个调用的脚本或函数,最右侧是 MATLAB 暂停处的当前脚本或函数。
您也可以使用 dbstack 函数在命令行窗口中查看当前工作区:
dbstack
> In mean (line 48) In plotRand (line 5)
对于函数调用堆栈中的每个函数,都有一个相应的工作区。工作区包含您在 MATLAB 中创建的变量或从数据文件或其他程序导入的变量。通过命令行窗口分配或使用脚本创建的变量属于基础工作区。在函数中创建的变量属于其自己的函数工作区。要检查当前工作区之外的变量的值,请在“调试器”面板的函数调用堆栈部分中选择对应的函数。
您也可以在命令行窗口中使用 dbup 和 dbdown 函数来选择函数调用堆栈中的上一个或下一个工作区。要列出当前工作区中的变量,请使用 who 或 whos 函数。
如果 MATLAB 正在一个工作区中覆盖某个变量的值,而此时您尝试在另一个工作区中查看该变量的值,则 MATLAB 会在命令行窗口中显示错误。
K>> x Variable "x" is inaccessible. When a variable appears on both sides of an assignment statement, the variable may become temporarily unavailable during processing.
dbup 命令来选择工作区,都会发生该错误。