调试时强制从函数返回

Dav*_*d K 6 debugging matlab

我正在调试MATLAB R2016a中的程序,并希望在不完成该功能的情况下从子函数返回.例如,您可以编写代码:

if(conditionMet)
  return;
end
Run Code Online (Sandbox Code Playgroud)

如果满足条件,它将强制函数提前结束并继续在调用者代码中.在我调试时,我想强制该函数提前结束,就像我遇到了一个return命令一样.当我return在调试模式下输入时,似乎没有任何事情发生.有没有办法强制功能提前结束并继续运行?

m79*_*13d 2

我认为目前的 Matlab 版本一般来说是不可能的。

如果您事先知道调试时可能希望从函数返回的位置,则可以使用以下技巧。

function yourFunction ()
    breakDebug = false;
    ...
    if breakDebug
        return; % location at which you may break your function during debugging
    end
    ...
    return;
end
Run Code Online (Sandbox Code Playgroud)

通过breakDebug在调试时进行设置,程序将在下一个可能中断的位置处中断。