0

我想在 Matlab 处于调试模式时收到一封电子邮件,所以我尝试了以下方法:

timerTic=4; % how often the timer checks

timerHandle = timer();
timerHandle.startDelay = timerTic;
timerHandle.Period = timerTic;
timerHandle.ExecutionMode = 'fixedRate';
timerHandle.TasksToExecute = inf;
timerHandle.TimerFcn = @CheckDebugMode;


j=0;
while t==0
    j=j+1;
end

函数是:

function CheckDebugMode( ~ )
% Check if Matlab is in Debug mode
if feature('IsDebugMode')
    sendSSLmail('mymail@mycountry','Matlab is in debug mode','Matlab is in debug mode')
end

t 不存在,因此发生错误并且 Matlab 进入调试模式(如果错误处于活动状态,则 dbstop)。feature('IsDebugMode') 等于 1,但我没有收到邮件。

这是我第一次在 Matlab 中处理对象,所以我很确定代码在某种程度上是错误的。也许有人可以帮助我?提前致谢

4

1 回答 1

0

你开始你的计时器了吗?

start(timerHandle)

编辑 我没有测试过这个,但我怀疑你的函数句柄和函数本身有问题。计时器将参数传递给您的函数,因此您需要在代码中接受 then :

function CheckDebugMode( varargin )

或停止通过:

timerHandle.TimerFcn = @(~,~)CheckDebugMode
于 2016-11-24T14:55:01.407 回答