octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #37574] odd behaviour of dbstep out


From: Rik
Subject: [Octave-bug-tracker] [bug #37574] odd behaviour of dbstep out
Date: Mon, 05 Nov 2012 17:10:22 +0000
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0

Follow-up Comment #1, bug #37574 (project octave):

The issue that you identified is actually something of a definitional one. 
When using debug_on_warning/debug_on_error Octave makes the assumption that
you want a one-shot breakpoint.  It assumes that if you get an error, and drop
into the debugger prompt, that the only useful thing to do is inspect
variables.  Presumably, the error was significant enough that continuing, by
using dbstep, is not a real possibility so it treats it as dbcont and returns
to the Octave prompt.

This might make sense for debug_on_error, but probably doesn't need to be
interpreted so rigidly for debug_on_warning.  I've attached a patch where I
simply copied the code for the keyboard command into the debug_on_warning code
where it calls do_keyboard().  This works except for one small detail.  An
unwind protect frame is set up and the variable debug_on_warning() is set to
false, presumably to avoid recursion.  When in the debugger, the variable is
false the first time the debug prompt is encountered.  But after any
continuation command, such as dbstep, it reverts back to the previous value. 
I'm hoping that jwe can instantly pick out why that is so and knows a fix for
it.


(file #26878)
    _______________________________________________________

Additional Item Attachment:

File name: patch.warn_on_debug            Size:1 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?37574>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]