Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] objdump/addr2line problems

At 01:54 PM 6/16/2003 -0700, Anthony Green wrote:
> To fix
> it we put in a "cdt tool provider" extension point that provided these
> tools.

This sounds perfect.

It was for us.


> /**
>  * Some of the CDT needs to run binary tools (addr2line, objdump
>  * and c++filt are the ones I have found so far.).

gdb?

GDB is more complex (or was on 1.0.1). You are no longer just talking about what's the path to the exe and what are the options. With GDB you need to be worrying about the initial commands that are sent to GDB. These commands handle things like target selection and code loading and they make the GDB interface to the CDT more complex. Fortunately CDT recognizes that and has more complex interfaces to represent it. These interfaces, however, all rely on writing custom launchers. You can subclass some of the CDT base classes, but the top level hook is a custom launcher for your GDB.

The path that we used to add our own GDB on 1.0.1 was basically write a launcher, write our own ICDebugger class and then subclass things like CSession, CTarget and other related classes. My personal understanding is that these interfaces changed somewhat with 1.1 but we have not gotten there yet and I can't comment. I can say that on 1.0.1 some of the super classes you needed to subclass did require small modification, usually to make package protected or private members subclass protected.

All that having been said the old 1.0 launcher let you plug in your gdb path and that worked "pretty well" for us for a while. I think that disappeared from the default launcher, but am not certain since we moved over to our own.

Who is doing this?  Is there a plan somewhere or should I dig around in
the mail archives?  There are some other minor tools provider issues
that I'd like to see in 1.2 (or earlier?).

Tool chain abstraction is a necessary part of the build model work so Sam Robb was for a while and may still be. I have seen patches from someone at IBM or QNX recently, but don't recall who it was. If we decide to go to the head rather than 1.1 for our version we will probably work up some patches for these issues if they are not fixed because we need really this kind of thing.

Thanks!
-Chris
songer@xxxxxxxxxxxxx
director of platform engineering
voice: 408 327 7341 fax: 408 986 8919



Back to the top