2

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);
4

3 に答える 3

1

R2011aとR2012aの両方でファイルが編集される前に設定されたブレークポイントについても、同様の動作が見られました。Matlabのバグだと思います。

私が発見した回避策は、ファイルを編集して保存した後、少なくとも1つのブレークポイントをリセット(クリア/設定)することです。

于 2012-09-07T21:15:55.763 に答える