Problem with dbstop if error in 2018b
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
After downloading Matlab 2018b, I started having the following problem using the command dbstop if error:
My code will stop at the error as usual but then at some point later as I am debugging (typing variable names in the command line to check their values, etc.), the debugger will stop at line 43 of getArrayEditorBrushCache which reads:
eval(['I = I' subsstr ';']);
Then I have to type dbclear if error to escape the debugger and start my program over.
This is happening to me in many of my programs where dbstop if error was working fine in previous versions of Matlab. Any ideas for how to solve this or is this just a new bug?
0 Kommentare
Antworten (2)
Stefano
am 19 Feb. 2019
It was partially discussed in https://it.mathworks.com/matlabcentral/answers/353758-matlab-beep-at-zooming-in-plot-and-evaluating-variables
There is an awful (IMHO) piece of code for taking the indexes of an array:
parenStart = strfind(varName,'(');
subsstr = '';
if ~isempty(parenStart)
subsstr = varName(parenStart:end);
varName = varName(1:parenStart(1)-1);
end
And when trying to index the variable I:
if ~isempty(subsstr)
eval(['I = I' subsstr ';']);
end
it produces an error if varName was (in) (part of) an array of structures, objects, or symilar types with a dot, like:
struct(5).fieldname
I don't have the time to make a patch, and in any case I think it should be addressed by MathWorks...
6 Kommentare
Adrian Cherry
am 24 Aug. 2023
Was this ever reported as a bug to Mathworks? I've just come across it in R2023a and it's f****ing annoying.
Yinjie
am 16 Mär. 2024
% it works
if ~isempty(subsstr)
try
eval(['I = I' subsstr ';']);
catch
I = false;
end
end
Siehe auch
Kategorien
Mehr zu Debugging and Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!