主要内容GydF4y2Ba

Live Editor中的调试代码GydF4y2Ba

要在实时脚本或函数中诊断问题,请在实时编辑器中调试代码。在Live编辑器中调试有几种方法:GydF4y2Ba

  • 通过删除分号显示输出。GydF4y2Ba

  • 运行到特定的代码行并使用暂停使用GydF4y2Ba跑到这里按钮。GydF4y2Ba

  • 暂停使用时暂停函数和脚本GydF4y2Ba步入按钮。GydF4y2Ba

  • 将断点添加到您的文件中以在运行时在特定行中暂停。GydF4y2Ba

在GydF4y2Ba马铃薯GydF4y2Ba®GydF4y2Ba在线™GydF4y2Ba,编辑器中的调试与实时编辑器行为匹配。有关在安装版本的MATLAB中的编辑器中调试的更多信息,请参阅GydF4y2Ba调试Matlab程序GydF4y2Ba。GydF4y2Ba

显示输出GydF4y2Ba

在实时脚本或函数中确定出现问题的简单方法是显示输出。要显示一行的输出,请从该行的末尾删除半冒号。Live Editor将每个输出显示使用创建的代码行,使其易于确定出现问题的位置。GydF4y2Ba

例如,假设您有一个名为脚本GydF4y2Baplotrand.mlx.GydF4y2Ba这绘制了随机数据的向量,并在平均值上绘制绘图上的水平线。GydF4y2Ba

显示输出GydF4y2Ba兰特GydF4y2Ba在第2行的功能,在线末端删除半冒号。在Live编辑器中显示行号,如果它们不可见,请转到GydF4y2Ba看法GydF4y2Ba标签并按GydF4y2Ba行号码GydF4y2Ba按钮。MATLAB显示值GydF4y2BaR.GydF4y2Ba。GydF4y2Ba

调试使用GydF4y2Ba跑到这里GydF4y2Ba

如果要显示单个变量的状态,则显示输出很有用。要探索工作区中所有变量的状态,请运行Live脚本,然后在运行指定的代码行之前暂停。GydF4y2Ba

要运行到指定的代码行,然后暂停,请单击此处的runGydF4y2Ba按钮到左侧。如果无法达到所选行,则MATLAB继续运行,直到达到文件的末尾或遇到断点。调试时持续到此处按钮仅在实时功能中可用。GydF4y2Ba

例如,单击该GydF4y2Ba第2行左侧的按钮GydF4y2Baplotrand.mlx.GydF4y2Ba。Matlab跑步GydF4y2Baplotrand.mlx.GydF4y2Ba在运行第2行之前从第1行和暂停开始。GydF4y2Ba

当matlab暂停时,GydF4y2Ba跑步GydF4y2Ba按钮在GydF4y2Ba直播编辑GydF4y2Ba标签更改为aGydF4y2Ba继续GydF4y2Ba按钮。Live编辑器指示MATLAB通过以绿色突出显示该行暂停的行。在Matlab恢复运行之后,突出显示的行不会运行。GydF4y2Ba

小费GydF4y2Ba

避免在Matlab暂停时避免修改文件是一个很好的做法。在MATLAB暂停时所做的更改不会运行,直到MATLAB完成运行代码,代码重新运行。GydF4y2Ba

要继续运行代码,请单击“GydF4y2Ba继续GydF4y2Ba按钮。MATLAB继续运行文件,直到它到达文件的末尾或断点。您还可以单击GydF4y2Ba要继续运行的代码行左侧的按钮。GydF4y2Ba

继续运行代码行 - 逐行GydF4y2Ba直播编辑GydF4y2Ba选项卡,单击GydF4y2Ba步GydF4y2Ba。Matlab执行当前行,它暂停它和下一行的暂停。GydF4y2Ba

你也可以通过前往光标跑到线上GydF4y2Ba直播编辑GydF4y2Ba选项卡,选择GydF4y2Ba步GydF4y2Ba然后选择GydF4y2Ba跑到游标GydF4y2Ba。GydF4y2Ba

调试时查看变量值GydF4y2Ba

要在暂停MATLAB时查看变量的值,请将鼠标指针悬停在变量上。变量的当前值出现在数据提示中。数据提示保持视图,直到移动指针。要禁用数据提示,请转到GydF4y2Ba看法GydF4y2Ba标签并按GydF4y2Ba数据特征GydF4y2Ba按钮。GydF4y2Ba

您还可以通过在命令窗口中键入变量名称来查看变量的值。例如,要查看变量的值GydF4y2BaN.GydF4y2Ba, 类型GydF4y2BaN.GydF4y2Ba并按GydF4y2Ba进入GydF4y2Ba。命令窗口显示变量名称及其值。要在当前工作区中查看所有变量,请使用工作区浏览器。GydF4y2Ba

暂停运行文件GydF4y2Ba

要在运行时暂停程序,请转到GydF4y2Ba直播编辑GydF4y2Ba标签并单击GydF4y2Ba暂停GydF4y2Ba按钮。Matlab停在下一个可执行线,和GydF4y2Ba暂停GydF4y2Ba按钮更改为aGydF4y2Ba继续GydF4y2Ba按钮。要继续运行,请按GydF4y2Ba继续GydF4y2Ba按钮。GydF4y2Ba

如果要检查长期运行程序的进度,暂停是有用的,以确保它按预期运行。GydF4y2Ba

笔记GydF4y2Ba

单击暂停按钮可能导致MATLAB暂停在您自己的程序文件之外的文件中。按下GydF4y2Ba继续GydF4y2Ba按钮恢复运行而不更改文件结果。GydF4y2Ba

结束调试会话GydF4y2Ba

在确定问题后,通过进入的结束调试会话GydF4y2Ba直播编辑GydF4y2Ba标签并单击GydF4y2Ba停止GydF4y2Ba。为避免混淆,请务必每次完成调试时结束您的调试会话。保存时,Live Editor会自动结束调试会话。GydF4y2Ba

进入职能GydF4y2Ba

在调试时,您可以进入名为文件,暂停在您想要检查值的点。要介入文件,请单击GydF4y2Ba按钮直接向左侧的函数左侧进入。你也可以使用GydF4y2BaF11GydF4y2Ba迈入函数的关键。如果行包含对另一个功能的调用,则实时编辑器仅显示按钮。GydF4y2Ba

默认情况下,GydF4y2Ba仅按钮仅显示用户定义的函数和脚本。显示MathWorks的按钮GydF4y2Ba®GydF4y2Ba功能也是如此GydF4y2Ba家GydF4y2Ba标签,在GydF4y2Ba环境GydF4y2Ba部分,点击GydF4y2Ba喜好GydF4y2Ba。然后,选择GydF4y2Ba马铃薯GydF4y2Ba>GydF4y2Ba编辑/调试器GydF4y2Ba,在GydF4y2Ba在Live编辑器中调试GydF4y2Ba部分,清晰GydF4y2Ba仅显示用户定义的函数的按钮步骤GydF4y2Ba。GydF4y2Ba

踩后,单击GydF4y2Ba文件顶部的按钮运行剩下的函数,留下被叫函数,然后暂停。你也可以使用GydF4y2BaShift + F11GydF4y2Ba走出函数。GydF4y2Ba

你也可以进入和脱离功能GydF4y2Ba直播编辑GydF4y2Ba选项卡,选择GydF4y2Ba步GydF4y2Ba然后选择GydF4y2Ba介入;涉足GydF4y2Ba要么GydF4y2Ba走出来GydF4y2Ba。这些按钮不尊重GydF4y2Ba仅显示用户定义的函数的按钮步骤GydF4y2Ba偏好和始终逐步进出用户定义的和MathWorks函数。GydF4y2Ba

检查工作区中的变量GydF4y2Ba

当您进入名为函数或文件时,Live Editor会显示MATLAB在当前行暂停之前执行的函数MATLAB列表。该列表显示在文件的顶部,并按顺序显示函数,从左侧启动第一个名为脚本或函数,然后在右侧结尾使用Matlab暂停的当前脚本或函数。此列表称为GydF4y2Ba函数调用堆栈GydF4y2Ba。GydF4y2Ba

对于函数调用堆栈中的每个功能,有一个相应的工作空间。工作区包含您在MATLAB中创建的变量或从数据文件或其他程序导入。您通过命令窗口分配的变量或使用脚本创建属于基本工作区。您在函数中创建的变量属于自己的函数工作空间。GydF4y2Ba

要在调试期间检查变量,必须先选择其工作区。函数调用堆栈中所选函数表示当前的工作空间。要选择或更改工作区,请单击函数调用堆栈中的函数。MATLAB在Live Editor中打开函数,并将当前工作区更改为函数的工作空间。GydF4y2Ba

选择工作空间后,您可以使用工作区浏览器或实时编辑器中的数据提示查看它中的变量的值。GydF4y2Ba

添加断点并运行GydF4y2Ba

如果您的文件中有一行代码,则每次运行时要暂停,请在这些行中添加断点。要在Live Editor中添加断点,请单击要设置断点的可执行行上的灰色区域。例如,单击此代码中第3行旁边的区域以在该行添加断点。你也可以使用GydF4y2BaF12.GydF4y2Ba键设置断点。GydF4y2Ba

运行文件时,MATLAB暂停在断点指示的代码行。GydF4y2Ba

清除断点GydF4y2Ba

关闭并重新打开文件时,保存断点。GydF4y2Ba

要清除断点,请右键单击断点并选择GydF4y2Ba清除断点GydF4y2Ba从上下文菜单中。你也可以使用GydF4y2BaF12.GydF4y2Ba关键清除断点。GydF4y2Ba

要清除文件中的所有断点,请选择GydF4y2Ba清除所有文件GydF4y2Ba。清除所有断点GydF4y2Ba全部GydF4y2Ba文件,选择GydF4y2Ba清除所有GydF4y2Ba。GydF4y2Ba

在结束MATLAB会话时,断点会自动清除。GydF4y2Ba

禁用断点GydF4y2Ba

您可以禁用所选断点,以便您的程序暂时忽略它们并不间断运行。例如,您可以在识别和更正问题后禁用断点。GydF4y2Ba

要禁用断点,请右键单击它并选择GydF4y2Ba禁用断点GydF4y2Ba从上下文菜单中。断点变为灰色,表示它被禁用。GydF4y2Ba

要重新启用断点,请右键单击它并选择GydF4y2Ba启用断点GydF4y2Ba。启用或禁用文件中的所有断点,请选择GydF4y2Ba启用文件中的所有断点GydF4y2Ba要么GydF4y2Ba禁用文件中的所有断点GydF4y2Ba。只有在至少有一个断点启用或禁用时,这些选项仅适用。GydF4y2Ba

添加条件断点GydF4y2Ba

您可以将条件添加到断点,该断点告诉MATLAB何时在指定的行暂停。要添加条件,请右键单击断点并选择GydF4y2Ba设置/修改条件GydF4y2Ba。将打开“编辑器”对话框时,输入条件并单击GydF4y2Ba行GydF4y2Ba。条件是任何有效的MATLAB表达式,返回逻辑标量值。MATLAB在运行该行之前评估条件。GydF4y2Ba

例如,假设您只想暂停GydF4y2Baplotrand.mlx.GydF4y2Ba如果随机生成的数据包含一个GydF4y2Ba0.GydF4y2Ba。GydF4y2Ba

在第3行的以下条件添加断点:GydF4y2Ba

任何(r == 0)GydF4y2Ba
这条线上出现黄色条件断点。GydF4y2Ba

运行该文件时,MATLAB在满足条件时暂停在指定的行中。例如,在GydF4y2Ba地图GydF4y2Ba示例,在运行第3行之前的matlab暂停如果其中任何值GydF4y2BaR.GydF4y2Ba等于GydF4y2Ba0.GydF4y2Ba。GydF4y2Ba

在匿名函数中添加断点GydF4y2Ba

您可以在包含匿名函数的MATLAB代码中添加多个断点。您可以为行本身设置一个断点,并为行中的每个匿名函数设置。GydF4y2Ba

要添加断点,请单击可执行行上左侧的灰色区域以添加该行的断点。MATLAB为行添加了一个断点,以及行中的每个匿名函数的禁用断点。要启用匿名功能的断点,请右键单击它并选择GydF4y2Ba启用断点GydF4y2Ba。GydF4y2Ba

要查看关于行上所有断点的信息,请将指针悬停在断点图标上。有可用信息的工具提示。例如,在此代码中,第5行包含两个匿名函数,每个匿名函数都有一个断点。GydF4y2Ba

当您在匿名函数中设置一个断点时,Matlab暂停在调用匿名函数时。以绿色突出显示的线是代码定义匿名函数的行。以灰色突出显示的行是代码调用匿名函数的行。例如,在此代码中,MATLAB将在匿名功能的断点暂停程序GydF4y2BaGGydF4y2Ba,在第5行定义,并在第6行调用。GydF4y2Ba

相关话题GydF4y2Ba