Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] catchpoint support in GDB

Hi John,

I haven't dealt with catchpoints before so my opinion is on a more general view.
Your suggestion of an extension mechanism sounds like the right approach to me.

Until then, before making modifications, I suggest trying to confirm that the GDB docs
reflect reality; it is possible that the docs are incomplete (it's happened before).
You could either try it out, or simply post a question to the GDB mailing list.

It may be safer also to check the CVS logs to see who added the extra catchpoints
and see with that person what they based their implementation on.  Or maybe
there's a bugzilla bug that wouldn't be too hard to find.

Just my 2 cents

Marc

________________________________
From: cdt-dev-bounces@xxxxxxxxxxx [cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of John Cortell [rat042@xxxxxxxxxxxxx]
Sent: March 16, 2010 5:33 PM
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] catchpoint support in GDB

The support for gdb catchpoints (Event Breakpoints in CDT speak) troubles me a bit. We have built-in support for nine event types that aren't part of the official gdb documentation, and lack support for four that are. Seems to me that CDT should not contain support for custom event types. Those should be contributable, though. There's an extension point that lets the types be contributed to the GUI, but the underlying code that interacts with gdb does not end up supporting any such contributions. So, it's really an extension mechanism for vendors contributing their own gdb CDT plugins (or at least a command factory). I think we can enhance the extension point to fully honor the custom event types all the way through (not just at the GUI layer). However, I don't have the bandwidth to do that at this point. But what I really want to do now is throw out the built-in support for these cathpoint types that don't appear in the official gdb docs, and add support for the ones that are but are missing in CDT.

Thoughts?

CDT: (red = in CDT but not in gdb docs)
throw
signal
exec
fork
vfork
exit
start
stop
thread_start
thread_exit
thread_join
load
unload

GDB: (red = in gdb docs but not CDT)
throw
catch
exception
exception unhandled
assert
exec
syscall
fork
vfork


Back to the top