This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How do you debug gdb?


On Feb 19, 2008 11:38 AM, Michael Snyder <msnyder@specifix.com> wrote:
>
> On Sun, 2008-02-17 at 20:00 -0800, Ray Hurst wrote:
> > It seemed that this question was better suited for the development group
> > than in the general group.
> >
> > How do you debug gdb?
> >
> > In other words, if I have a problem with gdb itself how do I go about
> > debugging the issue?
>
> It's a little counter intuitive, but just as you compile GCC
> with GCC, you also debug GDB with GDB.
>
> After all, GDB is just a program...
>
> If you do it in the build directory, you will find that
> there is already some infrastructure in place.   See the
> existing file ".gdbinit", which sets some breakpoints
> and changes the prompt.
>
> Changing the prompt is perhaps the number one
> most important thing to do --- that way you can
> tell by looking at the prompt whether you are
> talking to the gdb-being-debugged or to the
> gdb-doing-the-debugging.

A couple more things that mighn't be immediately clear.

If you're in the child gdb (the prompt is "(gdb) ") and you want to
get to the parent gdb, and you're using .gdbinit in the build
directory, then you just type "i".  To get back to the child gdb,
continue.  As in

(gdb) i
(top-gdb) c
(gdb)

Another useful thing is to rebuild gdb with -O0 if not done already.

bash$ cd obj/gdb
bash$ make clean
bash$ make CFLAGS=-g
bash$ gdb ./gdb
[...]
(top-gdb)

Generally there's no need to debug bfd/etc. but one could rebuild
those too as necessary.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]