[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Debug into glibc with source code display in gdb on Debian
From: |
Zhaoming Luo |
Subject: |
Debug into glibc with source code display in gdb on Debian |
Date: |
Sun, 2 Feb 2025 18:55:49 +0800 |
Hi,
I'm trying to track the curl failed tests by debugging select() function
(or system call?) defined in glibc using gdb. When I executed `b _hurd_select`
to set a break point and run the program. The gdb stopped at the breakpoint
but it gives me the following info:
```
Thread 2 hit Breakpoint 1, _hurd_select (nfds=7, pollfds=0x0,
readfds=0x103cc20, writefds=0x103cc40, exceptfds=0x103cc60,
timeout=0x103cba4, sigmask=0x0) at ./hurd/hurdselect.c:51
51 ./hurd/hurdselect.c: No such file or directory.
```
I expected it will show me the source code of hurdselect.c.
There is a simpler program to reproduce: write a hello world program and
compile with -g option, step into printf in gdb. Here is the output
info:
```
Thread 4 hit Breakpoint 1, main () at main.c:6
6 printf ("Hello World\n");
(gdb) s
0x010ff074 in __GI__IO_puts (str=0x1518 "Hello World") at ./libio/ioputs.c:33
33 ./libio/ioputs.c: No such file or directory.
```
Using `list` or `l` command it shows only the following:
```
(gdb) l
30 in ./libio/ioputs.c
```
On my Arch GNU/Linux it automatically downloaded the source code and
give the following (the last two lines are what I expected):
```
Breakpoint 1, main () at main.c:6
6 printf ("Hello\n");
(gdb) s
0x00007ffff7e1fa78 in __GI__IO_puts (str=0x555555556004 "Hello") at ioputs.c:35
35 size_t len = strlen (str);
```
The libc0.3-dbg package is installed on Debian Hurd:
```
libc0.3-dbg/unstable,now 2.40-6 hurd-i386 [installed]
GNU C Library: detached debugging symbols
```
I strongly suspects I missed a package but I cannot find which one as I
have the same issue on a Debian GNU/Linux virtual machine :/.
Any help is appreciated :).
Best,
Zhaoming
- Debug into glibc with source code display in gdb on Debian,
Zhaoming Luo <=