所以我正在调试一些Matlab代码,我得到了一些表达式的维度 - 不同意错误。 Matlab指向正确的行等是很好的。但是如果Matlab输出错误文本中涉及的变量的维度,那将是很好的,所以我不必自己处理它们的大小。有时候,为了在for循环中进行长时间的表达,确定所有尺寸究竟是什么都是一件非常麻烦的事。
那么有设置或黑客吗?
答案 0 :(得分:7)
解决此问题的最简单方法是在命令窗口中键入dbstop if error
,然后运行代码。然后MATLAB将在它抛出错误之前停止执行,它将在抛出错误的行上打开编辑器。然后,您可以随意检查数组大小,甚至可以在命令窗口中尝试可能的修复,因为您可以访问代码中当前活动的所有变量。
答案 1 :(得分:2)
您可以尝试try-catch-end
阻止。
E.g。
try
%# Some error prone code
a = getA(b);
catch err_msg
%# Display any information you want
disp(size(b));
%# Display the error message
disp(err_msg.identifier);
disp(err_msg.message);
end
如果你想自己评估一下,你也可以在catch块中输入一个断点。