📜  设置断点以调试 MATLAB 代码

📅  最后修改于: 2022-05-13 01:55:18.836000             🧑  作者: Mango

设置断点以调试 MATLAB 代码

MATLAB 是最强大的编码语言之一。MATLAB代表矩阵实验室。它是一种用于技术计算的高性能语言。它是由 MathWorks.Inc 公司的 Cleve Molar 于 1984 年开发的。它是用 C、C++、 Java编写的。它允许矩阵操作、函数绘图、算法实现和用户界面的创建。现在让我们谈谈 MATLAB 环境中的一个重要选项Breakpoints

在调试过程中使用断点来评估代码并确定指定的行是否是错误的来源。

首先,MATLAB有三种断点:

  • 标准断点
  • 条件断点
  • 错误断点

让我们使用生成两个数组的代码示例来了解它们,然后将每两个对应元素相加并将它们保存到一个新数组中:

例子:



Matlab
% MATLAB code for without breakpoints
% define x and y
x = (0:10);
y = (10:20);
  
for n = 1:10
    z(n) = x(n) + y (n);
end


Matlab
dbstop in example at line 7


Matlab
dbstop in example at 7 if n>2


Matlab
% MATLAB code for dbstop
% error breakpoint 
% define x and y
x = (0:10);
y = (10:20);
dbstop if error 
for n = 1:10
    z(n) = x(n) + y (n);
end


输出:

标准断点

它们是常见的断点类型,只是在特定行执行时暂停,以设置它们:首先,您应该保存文件,还应该检查语法错误,因为它们会阻止保存断点。以下是插入标准断点的一些方法:

方法一:

步骤1:点击可执行代码旁边灰色区域的破折号,应该会出现一个红点,假设我们点击了第4行旁边的破折号:

输出:

步骤 2:将光标放在所需的行上,然后按 F12。



方法二:

以编程方式,在命令窗口中键入:

句法:

例子:

MATLAB

dbstop in example at line 7

输出:

在这里,您不能在循环的开始或结束处添加断点,相反,您可以将它们放在循环内以在循环的每次迭代时暂停。

条件断点

它们是仅在满足特定条件时在行处暂停的断点。以编程方式,在命令窗口中键入:

句法:

假设,如果您希望在特定迭代后执行 for 循环代码,可以使用以下几种方法:

步骤一:在需要的行旁边的灰色区域右击,选择“设置条件断点”。

第二步:输入具体条件(例如:n>2)。

第 3 步:然后点击OK 。应该出现一个黄点而不是虚线。

例子:

MATLAB

dbstop in example at 7 if n>2

输出:

错误断点

与其他断点不同,您不会在指定行设置错误断点。错误断点只是程序在发生错误的行暂停的条件,以设置它们:

步骤1:点击RUN按钮处的向下箭头,然后您可以选择:

  • 暂停错误:暂停所有错误。
  • 警告暂停:暂停所有警告。
  • 暂停 NaN 或 Inf :暂停 NaN(非数字)或无限值。

以编程方式,在命令窗口中插入错误断点以暂停所有错误。

例子:

MATLAB

% MATLAB code for dbstop
% error breakpoint 
% define x and y
x = (0:10);
y = (10:20);
dbstop if error 
for n = 1:10
    z(n) = x(n) + y (n);
end

笔记:

  • 灰色断点表示无效断点。
  • 要禁用/清除断点:右键单击它并选择禁用/清除断点。
  • 清除所有断点:右键单击灰色区域并选择清除文件中的所有断点。