[Top][All Lists]

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

[Octave-bug-tracker] [bug #41190] dbstatus clears breakpoints set in @cl

From: Rik
Subject: [Octave-bug-tracker] [bug #41190] dbstatus clears breakpoints set in @class files
Date: Mon, 10 Feb 2014 16:36:19 +0000
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0

Follow-up Comment #2, bug #41190 (project octave):

Ugh.  I see a bit of what is happening, but no easy way to stop it.  When the
list of breakpoints is generated (get_breakpoint_list), Octave goes through
each breakpoint found to get details such as file name.  For ordinary
functions this works fine.  For class objects, find_method is used which seems
to invoke the whole class constructor interface.  Eventually the symbol table
is updated in line 433 of symtab.cc with 

class_constructors[name] = retval;

The assignment operator '=' triggers a look at the currently stored
octave_value in class_constructors[name].  There is only one reference count
to this octave_value and when it is decremented it triggers the destructor for
the octave_value.  In this case the octave_value is holding a user function
reference and part of the destructor for removing a function from Octave is to
clear any breakpoints.

So, that's why breakpoints are getting cleared.  It does reveal a bit more as
well, this is only a problem with the constructor.  Setting a breakpoint in a
different function of a class works.

dbstop @ftp/mget
ans =  36
breakpoint in mget at line 36.


Reply to this item at:


  Message sent via/by Savannah

reply via email to

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