在 Matlab 中工作时,我经常使用 dbstop error
。大部分时间,错误会导致在内置 [m-file] 函数内部抛出错误,然后导致 Matlab 停止执行并打开文件。但是,在内置文件内部进行调试几乎毫无帮助,因此这最终会扰乱我的工作流程。是否有一种方法可以进行设置,以便 Matlab 退出调试器中的内置文件(从不打开它),让我留在函数调用中?
最佳答案
虽然我从来没有找到正确解决这个问题的方法,但很容易想出一个解决方法:
创建一个包含以下内容的脚本:
S = dbstack(); file_paths = cellfun(@which, {S.file}, 'UniformOutput', false); builtins = ~cellfun('isempty', strfind(file_paths, matlabroot())); stack_depth = find(~builtins, 1, 'first'); for ii = 1:stack_depth-1 dbup(); end
将它保存在对您有意义的地方,并放置一个 shortcut to it in the MATLAB toolbar .
然后,每当出现此问题时,您只需单击您的小快捷方式,它就会自动将您带到调试堆栈中的第一个非内置函数。
关于matlab - 如果出错,请在 dbstop 期间阻止 Matlab 进入内置函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41447887/