forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Plato & SDBG breakpoints

 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Plato
View previous topic :: View next topic  
Author Message
sparge



Joined: 11 Apr 2005
Posts: 371

PostPosted: Thu Aug 12, 2010 2:50 pm    Post subject: Plato & SDBG breakpoints Reply with quote

OK, here's a very simple example of the sort of thing I am talking about (Plato v4.3.0, FTN95 v5.5).

Save the code below as a file and make a project with it.

Code:
        program platosdbg
        integer i
        i = 0
        i = i + 1
        stop
        end


Open Plato, open the project. Under Tools-Options, make sure that "Integrate with SDBG" is unchecked.

Click the Continue Debugging green triangle control. SDBG will open up and highlight line 3 in red to show it is currently active line.

Click line 4 and toggle a breakpoint with F2. The line will be highlighted grey to indicate an active breakpoint).

Click Run control. Program will break at line 4, now highlighted magenta (combination of grey for breakpoint and red for active line). Click Run again to get to end of program. Close SDBG. Control returns to Plato, which now displays a dark red splodge against line 4 in the left hand grey margin, to indicate the presence of a breakpoint.

Click the Continue Debugging green triangle control again. SDBG will open up and highlight line 3 in red to show it is currently active line. No grey highlight to indicate the breakpoint on line 4, but it is still there. Click Run and program will break there, with line highlighted red, not magenta. Furthermore, the breakpoint can not be removed within the IDE. F2 has no further effect on that line. On any other executable line, F2 will toggle a breakpoint on and off, but not line 4. Plato still knows about it and displays it, SDBG knows about it but does not display it, and F2 will not remove it. Neither will Cancel All Breakpoints. The only way to kill it is by editing the ini file.

Going to see if I can illustrate "This is not a line that can be breakpointed" now.
Back to top
View user's profile Send private message Send e-mail
sparge



Joined: 11 Apr 2005
Posts: 371

PostPosted: Thu Aug 12, 2010 3:30 pm    Post subject: Reply with quote

Quote:
Going to see if I can illustrate "This is not a line that can be breakpointed" now.


Well, that was easy Smile

As before, make project with code below, and open in Plato, "Integrate with SDBG" unchecked.

Code:
        program platosdbg
        integer i
        i = 0
        i = i + 1
!       
        stop
        end


Click the Continue Debugging green triangle control. SDBG will open up and highlight line 3 in red to show it is currently active line.

Click line 4 and toggle a breakpoint with F2. The line will be highlighted grey to indicate an active breakpoint).

Click Run control. Program will break at line 4, now highlighted magenta (combination of grey for breakpoint and red for active line). Click Run again to get to end of program. Close SDBG. Control returns to Plato, which now displays a dark red splodge against line 4 in the left hand grey margin, to indicate the presence of a breakpoint.

Delete line 4. NB dark red splodge is not deleted along with line, as it should be, it shifts down to next line, which is a comment line. Thus doing the impossible and breakpointing an unbreakpointable line.

Click the Continue Debugging green triangle control again. SDBG will open up and, before displaying any source code, (correctly) point out that "This is not a line that can be breakpointed".
Back to top
View user's profile Send private message Send e-mail
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 5378
Location: Salford, UK

PostPosted: Tue Aug 17, 2010 5:51 pm    Post subject: Reply with quote

I have had a go at this and so far I have managed to reproduce 2 of the 3 problems and I have fixed one of the two I have reproduced.

Have you tried switching on the SDBG integration?
If it works OK for you it will avoid the display problems in SDBG because the source files are displayed in Plato when this option is set.
Back to top
View user's profile Send private message
sparge



Joined: 11 Apr 2005
Posts: 371

PostPosted: Wed Aug 18, 2010 9:38 am    Post subject: Reply with quote

Well done Paul, that's great news. I haven't tried switching SDBG integration back on since I reported major problems in the SDBG breakpoints thread. But I've been using Plato and SDBG full-time for the last two days so I know how they are currently behaving when unintegrated. I'll have another go shortly and report back.
Back to top
View user's profile Send private message Send e-mail
sparge



Joined: 11 Apr 2005
Posts: 371

PostPosted: Wed Aug 18, 2010 3:03 pm    Post subject: Reply with quote

OK, here's a preliminary report. Not expecting anything to be doable about it at this stage. I am still getting sdbg access violations when I tick the box to integrate it with Plato, and not if I don't. I'm prepared to believe it's my code that's ultimately responsible, but even if so, if it'll compile and run, it should not be capable of taking down sdbg.

Can't get a reproducible handle on it yet. Currently my impression is that from a clean boot, with integration specified, I can get the access violation. If I then try and run again, events are unpredictable e.g. sdbg shutting down abruptly, or sdbg opening up it's little black box without any sign of the source in the debugger - but I don't seem to get the access violation again until I reboot.

I have two screenshots of access violations now:



Back to top
View user's profile Send private message Send e-mail
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 5378
Location: Salford, UK

PostPosted: Fri Aug 20, 2010 6:25 am    Post subject: Reply with quote

I have now managed to fix two of the original bugs.
Specifically the problem when deleting a line with a breakpoint and the problem about breakpoint lines not appearing as grey in SDBG.

I think that this is all I can do until the next release because the latter fix may well solve a number of related problems.
Back to top
View user's profile Send private message
sparge



Joined: 11 Apr 2005
Posts: 371

PostPosted: Fri Aug 20, 2010 5:28 pm    Post subject: Reply with quote

A high leverage bugfix - the best sort Very Happy Excellent news. 05:25!? I don't know if you stayed up all night doing this or got up very early to post about it but either way I hope you have a good weekend off.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Plato All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group