[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [cdt-debug-dev] Changes/exploration to the CDI interface
|
> From: cdt-debug-dev-bounces@xxxxxxxxxxx [mailto:cdt-debug-dev-
> bounces@xxxxxxxxxxx] On Behalf Of Mikhail Khodjaiants
> Sent: Tuesday, September 26, 2006 1:29 PM
> To: CDT Debug developers list
> Subject: RE: [cdt-debug-dev] Changes/exploration to the CDI interface
>
> > So why to you need to group stackframes? I thought you had a limit to
> deal with deep level stacks or deep recursions?
>
> For the back ends that don't support threads. They don't want to add
> dummy threads and see the "target -> thread -> stack frame" hierarchy in
> the Debug view.
> In general, the idea is to use only "service" interfaces instead of the
> "object" interfaces like ICDITarget, ICDIThread, etc in the adapters. I
> am using the DSF terminology here, of course these are not real
> services, but this is a step towards it.
> For example, instead of implementing the ICDITarget interface,
> implementers need to implement a target object that only provides the
> services relevant for this particular backend. In case of the "target ->
> stack frame" model, the target would implement ICDIStack, not
> ICDIThreadGroup. The content adapter would display the stack frames as
> the target's children. It's a way to support flexible hierarchy in the
> Debug view.
> Of course, it would be better to use something like getService() to get
> ICDIStack from the target object instead of using "instanceof", but as I
> mentioned before it's just a first step.
I like to do things by step 8-).
> As an example, I can post the code of the content adapter I am using. I
> don't have it here, it is on my home computer.
>
That would be fantastic! Send some code my way, It will give me better
insight.
> > Sounds good, but then the interface now carries Eclipse interfaces.
> Nop, the implementation carries an Eclipse class.
> org.eclipse.cdt.debug.mi.core.model.Target extends PlatformObject.
>
Why should it matter? As you say it is the implementation. This is
different then making the interface use Eclipse API.