dbstop inside an anonymous function

5 views (last 30 days)
Leo Simon
Leo Simon on 10 Feb 2013
Is there a way to set the debugger to stop inside an anonymous function?
The following obviously won't work
dbstop in myAnonFunction
because myAnonFunction is internal to my script. I can of course accomplish what I want with
dbstop if error
and then insert an error into my anonymous function. But this is hardly good practice! There must be a better way...
Thanks, Leo

Answers (2)

the cyclist
the cyclist on 10 Feb 2013
Edited: the cyclist on 10 Feb 2013
As you may know, in the editor, inside a script you can click on the little hyphen next to the line number, and that will set a breakpoint.
If there is an anonymous function definition on that line of the script, you will be asked if you want the breakpoint at the beginning of that line of code, or at the anonymous function (i.e. whenever that function is called from elsewhere in the code).
EDIT in response to comment:
You can do this programmatically as follows:
>> dbstop in filename at 3@
will put a breakpoint at the anonymous function on line 3 of the file filename.m.
This is described in the section on "location" in
>> doc dbstop
  3 Comments
the cyclist
the cyclist on 10 Feb 2013
Edited my response to explain how to do this programmatically.
per isakson
per isakson on 10 Feb 2013
Thanks! Yes, it does but I missed it.

Sign in to comment.


Leo Simon
Leo Simon on 10 Feb 2013
Thanks, that's good to know. But I'm a dinosaur who hates GUIs so do everything from the command line. I use the -nodesktop flag and don't display the editor. Presumably there's a way to mimic that hyphen from the command line??
  1 Comment
the cyclist
the cyclist on 10 Feb 2013
Leo, I edited my response to show how to do it programmatically.

Sign in to comment.

Categories

Find more on Debugging and Analysis in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!