Skip to main content

[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.


Back to the top