bugGNU Octave - Bugs: bug #46451, unable to set breakpoints within...

 
 

bug #46451: unable to set breakpoints within classdef classes

Submitted by:  Carnë Draug <carandraug>
Submitted on:  Sun 15 Nov 2015 07:15:32 PM UTC  
 
Category: InterpreterSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Feature Request
Status: NoneAssigned to: None
Originator Name: Open/Closed: Open
Release: devOperating System: Any

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Sun 02 Apr 2017 10:40:21 PM UTC, comment #11:

Hi,
I had the same problem on Octave when testing pmtk3 package, on Ubuntu 16.04
error: remove_breakpoint: unable to find the requested function

I tried to apply the patch but it did not work. Can you please publish the Ubuntu patch?

Multiple thanks!!

Sammy Jankis <piux>
Sun 19 Jun 2016 11:30:50 AM UTC, comment #10:

Hi there,

I am new to Octave and I was wondering if I can apply the patch mentioned below in order to repair my Octave 4.0.2 on Windows.

Can someone give some hint about how I can find out to proceed?

Thanks,
Daniel

Daniel <darim>
Mon 08 Feb 2016 12:27:55 AM UTC, comment #9:

Unfortunately I'm not that familiar with the internals of classdef. About who wrote it, I believe it was mostly Michael Goffioul.

Carnë Draug <carandraug>
Project Member
Sun 27 Dec 2015 01:46:37 AM UTC, comment #8:

Carnë, the attached patch allows breakpoints to be set with the syntax
dbstop classname>method
Could you please give it a try?

It has a memory leak. The problem is that the classdef framework doesn't seem to keep octave_user_function objects around, but instead creates octave_function objects on the fly. In order to keep them around long enough for the dbstatus and dbclear commnds, I'm just allocating them on the heap :( The patch is clearly not ready to be applied, but I hope it may help someone who knows more about classdef. Do you know who wrote that code?

Thanks

(file #35861)

Lachlan Andrew <lachlan>
Project Member
Wed 23 Dec 2015 11:24:59 PM UTC, comment #7:

I now see that I had old class definitions in my path. Without thme, I get the same problem. It turns out that it does find the constructor, but that it is not considered "user code" (it is not of type octave_user_function) and so doesn't set the breakpoint.

Unfortunately, the classdef framework doesn't seem to have clear "tree_statement_list" objects into which the breakpoint can be placed. I'm intrigued by this and will keep looking into it.

Lachlan Andrew <lachlan>
Project Member
Mon 21 Dec 2015 03:56:05 AM UTC, comment #6:

Carenë, it's odd that it works for me but not for you. Bug #46468 reports the same problem, so I'm the odd one out. Are you using Windows?

Lachlan Andrew <lachlan>
Project Member
Tue 15 Dec 2015 02:12:39 PM UTC, comment #5:

I tried at a88142abca36 like you and continue to see "add_breakpoint: unable to find the requested function"

This is the same I saw on 4.0.0 and 8da80da1ac37 (current tip of default branch).

Carnë Draug <carandraug>
Project Member
Tue 15 Dec 2015 03:48:26 AM UTC, comment #4:

Carnë,

I just re-checked it on the default branch at changeset a88142abca36 ("Remove spurious tick labels occurring when setting ticks and removing tick labels")

Even though it doesn't appear in dbstatus, it does appear to stop in that function:

Running dbstatus clears the breakpoint, as described in bug #41190.

Lachlan Andrew <lachlan>
Project Member
Mon 14 Dec 2015 07:27:37 PM UTC, comment #3:

What octave version are you using that returns:

Carnë Draug <carandraug>
Project Member
Sat 12 Dec 2015 10:18:22 PM UTC, comment #2:

Oops. I spoke too soon. Although it reported a line number, it didn't show up in dbstatus. I'll keep investigating.

Lachlan Andrew <lachlan>
Project Member
Sat 12 Dec 2015 09:53:57 AM UTC, comment #1:

Carnë,

>> dbstop ("@inputParser/inputParser")

ans = 130

I think the bug is in the documentation. Should I post a patch?

Lachlan Andrew <lachlan>
Project Member
Sun 15 Nov 2015 07:15:32 PM UTC, original submission:

It seems that it is not possible to set a breakpoint within a classdef class.

This may be related with not being able to define a classdef on the interpreter or why "which" does not associate it with a file.

Carnë Draug <carandraug>
Project Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #35861:  bug_46451.patch added by lachlan (5KiB - text/x-diff)

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -unavailable- added by piux (Posted a comment)
  • -unavailable- added by darim (Posted a comment)
  • -unavailable- added by lachlan (Posted a comment)
  • -unavailable- added by carandraug (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 27 Dec 2015 01:46:37 AM UTClachlanAttached File-=>Added bug_46451.patch, #35861
    Thu 19 Nov 2015 07:12:39 AM UTCpantxoDependencies-=>bugs #46468 is dependent

    Back to the top


    Powered by Savane 3.1-cleanup1