MATLAB社区

MATLAB,社区和更多

静音断点

调试是我工作流程中不可分割的一部分。我经常遇到的一件事是需要快速禁用所有断点。在花时间在正确的位置和正确的条件下插入断点后,我有时想要快速静音(禁用)所有断点,而不是实际删除它们。

为了做到这一点,我编写了几个脚本,它们对断点进行静音和取消静音。我通过使用禁用表达式来重新安装每个断点(例如将'x==1'转换为'false&&(x==1)')。要获得MATLAB中当前安装的所有断点,请使用dbstatus

这就是dbmute看起来像:

函数dbmute%dbmute禁用MATLAB中当前设置的所有断点。%遍历dbstatus结果中的每个条目,%并禁用每个断点。断点= dbstatus (“-completenames”);i=1: length(breakpoints) muteDbStatusEntry(breakpoints(i));结束结束函数muteDbStatusEntry (dbstatusEntry)%muteDbStatusEntry禁用给定条目中的每个brepoint。i=1: length(dbstatusEntry.line) file = dbstatusEntry.file;行= dbstatusEntry.line(我);anonymousIndex = dbstatusEntry.anonymous(我);我表情= dbstatusEntry.expression {};lineNumberString = [num2str(线)“@”num2str (anonymousIndex)];newExpression = createDisabledExpression(表达式);lineNumberString dbstop(文件,“如果”, newExpression);结束结束函数newExpression = createDisabledExpression(表达式)%createDisabledExpression将给定的表达式包装在禁用中%表达式如有必要。如果(isDisabled(expression)) newExpression = expression;elseif比较字符串(表达式,) newExpression =“假”其他的newExpression = [“假(”表达式“)”];结束结束

以下是完整的文件套件:

dbmute_dbunmute.zip

我建议也创建快捷方式以便您可以快速地从工具栏访问它们。

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。