Effacer les filtres
Effacer les filtres

how to use dbstop if naninf

10 vues (au cours des 30 derniers jours)
Habib
Habib le 10 Mai 2013
Commenté : John Hatrick le 16 Mar 2018
I want to ask matlab to stop anywhere in my functions, a variable becomes nan or inf. I defined a function buggy(x) (which is a matlab example in help page of dbstop).
function z = buggy(x)
n = length(x);
u=8/0
z = (1:n)./x;
I just added one line ( u=8/0) to see how dbstop if naninf works. when I ran, matlab started violating. The response is in the following code:
>> dbstop if naninf
>> buggy(3)
u =
Inf
NaN/Inf breakpoint hit for buggy on line 3.
Stopping at next line.
3 u=8/0
4 z = (1:n)./x;
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
...and continuing...
and matlab stays in debugging mode and if I try doing something in matlab, it freezez.
Am I using dbstop in a wrong syntax or a wrong place?
I want matlab to stop and any inf/nan that that I have produced in my own codes. apparently it stops in its own built-in matlab files as well.
  1 commentaire
John Hatrick
John Hatrick le 16 Mar 2018
I have this problem too!
setting 'dbstop if naninf' finds tons of inf statements in MATLAB scripts I'm not using such as 'fsolve.m' and 'trustnleq.m.'
I want to find if a variable goes NaN; I don't care if the phrase 'inf' shows up in a script...
Respectfully, John

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 10 Mai 2013
You're definitely not doing anything wrong. It works fine for me. What version of MATLAB is this? Maybe try again after restarting MATLAB? Or maybe try reinstalling.
  1 commentaire
Habib
Habib le 11 Mai 2013
Matlab 2009a. I have to upgrade to the 2012b in a few days. Thanks buddy for trying the code.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Debugging and Analysis dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by