Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Are catchpoints supported?

That's really cool!

We have a couple of similar, but not identical situations:

1- When we trace an app using GDB Tracepoints and enable visualizing the results,
all the run control buttons get disabled.  This is triggered by sending a DSF-GDB event:
ITraceRecordSelectedChangedDMEvent.  Maybe you can use that same event.
https://wiki.eclipse.org/CDT/User/FAQ#How_can_I_trace_my_application_using_C.2FC.2B.2B_Tracepoints.3F

2- Post Mortem debug session (looking at a core file or trace file) where
the user can never step/resume/interrupt, so all those buttons are disabled. 
This is more of a static state that is triggered from the start of the launch.

3- when we get an MI *running event we mark the thread as running and 
disable step/resume/next; however, 'suspend' gets enabled.

Of course, if you are willing to extend DSF-GDB then it should be quite easy to add extra conditions
that for the enablement of those buttons.  This is done in the IRunControl service using
IRunControl.canResume()
IRunControl.canSuspend()
IRunControl.canStep()
but even more easily, you can extend the existing service to simply turn off all the run control buttons
as we do for Tracing and Post Mortem.

Feel free to ask for clarifications :)

Now, about stepping backwards, we already have support for that so you may be able to make use of it:
https://wiki.eclipse.org/CDT/User/FAQ#How_do_I_do_Reverse_Debugging.3F

Good luck!

Marc

P.S. For some reasons, some images are not showing on the wiki.  Maybe due to the recent wiki upgrade.
I will look into that.
________________________________________
From: cdt-dev-bounces@xxxxxxxxxxx [cdt-dev-bounces@xxxxxxxxxxx] on behalf of Pascal Rapicault [pascal@xxxxxxxxxxxx]
Sent: September 20, 2014 6:41 PM
To: CDT General developers list.
Subject: [cdt-dev] Are catchpoints supported?

Hi,

I'm using the CDT debugger as a tool to step through the execution trace
of a program (the execution trace is generated by a tool called CBMC
[1]). I've interfaced this execution trace with CDT this by creating my
own MI-frontend so CDT believes that it is talking to GDB :) At this
point all is good. You can see it at
https://www.youtube.com/watch?v=vq3qTqzizIk

Now what I'm trying to understand is whether there is a mechanism in CDT
that would help me signal to the user that the end of the trace has been
reached and thus disable the "next / step" related buttons. Note that I
don't want to stop the execution of the program because eventually I
would like to offer the ability for the user to "step back".
Do you have any suggestion? Would the concept of catchpoints supported
by MI [2] be of any help?

Thanks,

Pascal

[1] - http://www.cprover.org/cbmc/
[2] -
https://sourceware.org/gdb/onlinedocs/gdb/Ada-Exception-GDB_002fMI-Catchpoint-Commands.html#Ada-Exception-GDB_002fMI-Catchpoint-Commands
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev

Back to the top