1 (edited by JohnWasilewski 2013-11-29 15:24:19)

Topic: Lingering breakpoints

Clicking the LH margin to switch OFF a breakpoint removes the breakpoint marker (big red blob ) but seems not to remove the breakpoint, because the debugger continues to pause at former breakpoints, even after removing them.

I have observed this behaviour during a single debugging session.  I haven't checked to see whether it survives exiting then re-starting.
---
John

Re: Lingering breakpoints

John,

I'll have a look at why it's occurring.  I suspect there may be a mismatch in line number consistency (0-based versus 1-based).

Jeff Armstrong
Approximatrix, LLC

Re: Lingering breakpoints

John,

I hunted down the issue.  Basically I think the error was related to restarting the program.  When restarted, Simply Fortran would send all its breakpoint and watch assignments to the debugger again, creating a second set of identical breakpoints and watches.  When you removed a breakpoint, it would remove one of them, but a second one was still present at the same location.

The bug fix does two things.  First, it blocks resetting all breakpoints when the Restart option is clicked.  Second, it makes sure before setting a breakpoint or watch that they don't already exist.

The changes will be present in 2.7, which should be available early next week.

Jeff Armstrong
Approximatrix, LLC

Re: Lingering breakpoints

Would it be possible to have a debug menu option, attached to a project, to SAVE breakpoints?
Users would then have a choice, before ending a debugging session, to let the breakpoints lapse, or save them.
The debugger would need to auto-load any saved breakpoints every time it was started. 

There is already an option to clear all breakpoints.  You could arrange if you wish to make this clear only the in-memory breakpoints but leave the saved one to reload next time.  In this case, I assume you'd then need separate functions, (i) to clear breakpoints, (ii) to delete all saved breakpoints

Alternatively, the existing clear all breakpoints function could both clear the in-memory ones and delete the saved ones.   If you preferred this functionality, you might not need much additional coding.
---
John

Re: Lingering breakpoints

John,

I think I follow what you're saying.  You're suggesting a "per-session" breakpoint, basically.  Is that correct?

Jeff Armstrong
Approximatrix, LLC

Re: Lingering breakpoints

I mean a facility to save all breakpoints in a session for a particular project, so that, the next time when that project is debugged, the breakpoints will auto-load to the same settinhgs.
---
J.

Re: Lingering breakpoints

Ah, I see.  You'd like to be able to save some/all your breakpoints along with your project such that they'll be present the next time you load your project. Is that correct?  If so, yes, that's completely feasible to add.

Jeff Armstrong
Approximatrix, LLC

Re: Lingering breakpoints

Yes, that's it Jeff.  There's also the question of how to get rid.  If CLEAR ALL doesn't also delete the saved breakpoints then, to get rid of the saved ones, I assume users would need to save them again after clearing all.  I'm unsure whether users would also want the CLEAR ALL breakpoints command to act on both the breakpoints in memory and any which have been saved.  Best for you to decide on this. 
---
J.