Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Re: [cdt-debug-dev] enabling CDT to use multiple debuggers

> 
> >>>>> "Samantha" == chanskw  <chanskw@xxxxxxxxxx> writes:
> 
> Samantha> Putting this option in launch configurations gives user an
> Samantha> idea that they can switch debugger for the project on the
> Samantha> fly.  It's too easy for the user to switch the choice of
> Samantha> debugger.
> 
> I'm not too familiar with the Eclipse GUI.  So I can't really
> comment on the precise placement of the option.
> 
> However, it is useful to let the user choose which particular gdb is
> launched.  I'm familiar with at least two cases:
> 
> * Sometimes the system gdb is too old and you want to use a newer
>   one.  In this case it is nice to be able to specify a path to the
>   gdb you actually want to use.
>   This doesn't just happen for gdb developers.  For instance someone
>   who gets tools from a company like Red Hat might want to use the
>   newer gdb shipped in their tool chain.
>   In some situations this is really necessary to get any useful work
>   done; for instance when the older gdb crashes on your particular
>   program.  (This happens rather more often than anybody wants to admit.)
> 
> * If you're doing cross-builds you need to use the cross-gdb, which
>   has a name like "xscale-elf-gdb".
>   Presumably this will be handled automatically by whatever
>   target-choosing machinery is eventually implemented.
> 
> At least the first case above is a fairly lightweight scenario.  When
> I run gdb under Emacs I choose the particular gdb to run on a
> case-by-case basis.  Occasionally I'll reinvoke the debugger using a
> different gdb just to work around some gdb bug I've discovered.  (In
> Emacs this is extremely easy, since it prompts for the debugger choice
> each time you enter the debugger mode.)
> 

The problem is that many things will go wrong, for example if using
MI and trying to launch and older version or launching a newer version
that the parser can not handle.  We(QNX) have a more control environment
where we ship part of the product the version that can be use with it
... but that is the theory ... the practice is less rosie and usually
a mess in terms of conflicts and things that can go wrong.

My IMHO.



Back to the top