我注意到Matlab中有一种奇怪而烦人的行为。可能我只是做错了,但当我对M文件进行一些更改,保存并重新运行时,我的断点不会按预期触发。如果我第二次执行M文件,则会按预期触发断点。为什么这种奇怪的行为以及如何解决?
修改
根据要求提供我的Matlab代码片段:
function readCommutingContextData(filename)
fid = fopen(filename);
bufferSize = 5;
format long g
nLines = 0;
tline = fgetl(fid);
while ischar(tline)
nLines = nLines + 1;
tline = fgetl(fid);
end
fclose(fid);
timestamps = zeros(nLines,2,'uint64');
coords = zeros(nLines,3);
features = zeros(nLines,12);
labels = cell(nLines,3);
sources = cell(nLines,1);
fid = fopen(filename);
tline = fgetl(fid);
i = 1;
while ischar(tline)
tokens = textscan(tline, '%s', 'delimiter', ',');
tokens = tokens{1};
timestamp = uint64(str2double(tokens{1}));
gpsTime = uint64(str2double(tokens{2}));
latitude = str2double(tokens{3});
longitude = str2double(tokens{4});
accuracy = str2double(tokens{5});
source = tokens{6};
...
end
fclose(fid);
答案 0 :(得分:1)
我观察到在R2011a和R2012a中编辑文件之前设置的断点的类似行为。我相信这是一个Matlab错误。
我发现的解决方法是在编辑和保存文件后重置(清除/设置)至少一个断点。
答案 1 :(得分:0)
当我从“命令窗口”运行代码时遇到了同样的问题,并且断点没有工作。之后我冲浪了,其他人引导我,我在我的调用语法前面使用了“清除所有”。轻松删除“所有”并再次运行您的代码,所有断点都可以正常工作。
答案 2 :(得分:0)
它非常容易处理转到断点标签,然后点击那里的箭头,首先点击清除全部而不是点击设置并清除,最后选择停止错误选项....你的断点开始运作良好