public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* newB: How to debug system lib
@ 2004-10-14 15:37 Russell Shaw
  0 siblings, 0 replies; 3+ messages in thread
From: Russell Shaw @ 2004-10-14 15:37 UTC (permalink / raw)
  To: gdb

Hi,
I linked my program with:

   gcc -g -O0 -lm  -o test  main.o

ldd test gives:

libm.so.6 => /usr/lib/debug/libm.so.6 (0x40018000)
         libc.so.6 => /usr/lib/debug/libc.so.6 (0x4003a000)
         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

I had: LD_LIBRARY_PATH="/usr/lib/debug"


In gdb, list 'ungetc' (a gnu libc function) gives:

   No line number information available for address 0x400af9a0 <ungetc>

I cannot step into the function either.

Is there a way of doing this without statically linking?

(debian 2.6.8.1, libc6 2.3.2.ds1-17, gcc 3.4.2)


Also, does gdb need the libc source code files in addition
to the libc6-dbg binaries?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: newB: How to debug system lib
  2004-10-14 11:56 Russell Shaw
@ 2004-10-14 19:01 ` Michael Chastain
  0 siblings, 0 replies; 3+ messages in thread
From: Michael Chastain @ 2004-10-14 19:01 UTC (permalink / raw)
  To: rjshaw, gdb

Russell Shaw <rjshaw@netspace.net.au> wrote:
> In gdb, list 'ungetc' (a gnu libc function) gives:
>
>    No line number information available for address 0x400af9a0 <ungetc>
>
> I cannot step into the function either.

Try this:

  (gdb) break main
  (gdb) run
  (gdb) disassemble ungetc
  (gdb) list ungetc

The "break main; run" will run your test program far enough to load
the shared library (glibc).  gdb will see the shared library after
it is loaded.

Hope this helps,

Michael Chastain

^ permalink raw reply	[flat|nested] 3+ messages in thread

* newB: How to debug system lib
@ 2004-10-14 11:56 Russell Shaw
  2004-10-14 19:01 ` Michael Chastain
  0 siblings, 1 reply; 3+ messages in thread
From: Russell Shaw @ 2004-10-14 11:56 UTC (permalink / raw)
  To: gdb

Hi,
I linked my program with:

   gcc -g -O0 -lm  -o test  main.o

ldd test gives:

libm.so.6 => /usr/lib/debug/libm.so.6 (0x40018000)
         libc.so.6 => /usr/lib/debug/libc.so.6 (0x4003a000)
         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

I had: LD_LIBRARY_PATH="/usr/lib/debug"


In gdb, list 'ungetc' (a gnu libc function) gives:

   No line number information available for address 0x400af9a0 <ungetc>

I cannot step into the function either.

Is there a way of doing this without statically linking?

(debian 2.6.8.1, libc6 2.3.2.ds1-17, gcc 3.4.2)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-10-14 11:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-14 15:37 newB: How to debug system lib Russell Shaw
  -- strict thread matches above, loose matches on Subject: below --
2004-10-14 11:56 Russell Shaw
2004-10-14 19:01 ` Michael Chastain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).