Hey gang,
We had a conference call today with all the committers
working on CDT Debug as well as representatives from Wind
River who are working on Device Debugging as part of the DSDP
project. They included John Cortell (Freescale), Ken Ryall (Nokia), Mikhail K
(QNX->ARM), Doug Gaff, Pawel Piech, and Dave Daoust (Wind
River) as well as myself.
Essentially, the objective of the meeting was to go over
what we wanted to do from a big picture perspective for CDT Debug for 4.0 and
beyond. This has really come to a head now that Mikhail has moved on and will
not be working much on our MI integration. We also wanted to see if there were
any synergies possible with Wind River’s work on a new Debug Model aimed
primarily at device debugging, but also will be useful for desktop debugging
(and I guess remote server debugging as well which is a mix of the two). Its
main advantage is the flexibility it offers debugger integrators and that it
takes advantage of the new flexible Debug Platform APIs that have gone into
Eclipse 3.2.
The conclusion that we came to and want feedback on from the
community on is for the CDT to adopt Wind River’s
Debug Model called the Debugger Services Framework (DSF). In the short term, at
least for CDT 4.0 and possibly beyond, this will mean that the CDT will have
two debug models that integrators can use. We will keep the CDI going since at
least Ken and John will be building their commercial debug integrations against
this interface and will be adding minor features to it. The hope is that the
DSF will be so good that we can eventually deprecate the CDI and move everyone
over but we want to wait for the DSF to mature before making that decision. It
may also be possible to build a CDI façade on the DSF to ease the transition.
QNX will continue their involvement in MI since we depend on
it commercially. As part of that we will be porting the MI integration to DSF
for 4.0 to ensure we have a good quality exemplary tool for DSF and to ensure
the sustainability of CDT’s MI integration. However, we will likely keep
the CDI/MI integration around as well to ensure minimal impact to existing MI-based
integrations.
So over the next year or two, we’ll have a bit of an
explosion of options for debug integrators. We will work hard to hide this
complexity from the users. We did express the desire to standardize on the DSF
to ensure we have a sustainable path going forward. We just want to stay
pragmatic about it and ensure that vendors who have debug integrations have the
option to migrate when it makes sense for them to do so.
So for next steps, Pawel will be submitting his code to the
DD project for all of us to look at. This will include a minimal MI integration.
We’ll then look at how to extend that integration to the same level as
our CDI/MI integration. This will all feed into a presentation that we’ll
be giving at the CDT Fall Conference in September where we’ll be looking
to close on the plan for CDT 4.0.
We are keenly interested in what other members of the
community think of this proposal and will consider any and all feedback. Just
do it on the cdt-debug-dev list J. Also for those
vendors working on debug integrations, you may wish to step up your
participation to make sure your interests are our interests too.
Thanks,
Doug Schaefer, QNX Software Systems
Eclipse CDT Project Lead, Tools PMC member
http://cdtdoug.blogspot.com