Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  Wczoraj 20:58:24

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

GDB i No symbol table info available.

Czy ktoś z was bawił się w debugowanie procesów przy pomocy gdb? Niby jest na wiki debiana taki wpis ale chyba jest on ździebko nieaktualny albo ja coś robię nie tak. xD

Generalnie mamy przykładowe wywołanie:

Kod:

$  gdb spacefm
GNU gdb (Debian 15.2-1+b1) 15.2
...
Reading symbols from spacefm...
Reading symbols from /usr/lib/debug/.build-id/53/b6168208901b7b230a4fe54a8add0b63c4e475.debug...

Symbole niby są. Doinstalowałem wszystkie pakiety o które prosił find-dbgsym-packages no ale jak się uruchomi przykładowy proces i doprowadzi go do segfault'a, to symboli brak...

Kod:

(gdb) r
Starting program: /usr/bin/spacefm

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.debian.net>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
...

Thread 1 "spacefm" received signal SIGSEGV, Segmentation fault.

0x00007ffff7eed551 in ?? ()
(gdb) bt full
#0  0x00007ffff7eed551 in ?? ()
No symbol table info available.
#1  0x00007ffff79785f0 in ?? ()
No symbol table info available.
#2  0x5b1b4c4100000385 in ?? ()
No symbol table info available.
#3  0x00000028000000aa in ?? ()
No symbol table info available.
#4  0x343a303200000000 in ?? ()
No symbol table info available.
#5  0x00000028000000aa in ?? ()
No symbol table info available.
#6  0x6467203a00000641 in ?? ()
No symbol table info available.
#7  0x0000064100000385 in ?? ()
No symbol table info available.
#8  0x0000000000000000 in ?? ()
No symbol table info available.

Jeśli jednak się korzysta z coredumpctl od systemd, to wszystko ładnie drukuje:

Kod:

 $ coredumpctl gdb -1
           PID: 221557 (spacefm)
           UID: 1000 (morfik)
           GID: 1000 (morfik)
        Signal: 11 (SEGV)
     Timestamp: Wed 2025-01-15 20:50:26 CET (24s ago)
  Command Line: spacefm
    Executable: /usr/bin/spacefm
 Control Group: /morfikownia.slice/libcgroup.scope/apps-user/file-manager
          Unit: libcgroup.scope
         Slice: morfikownia.slice
       Boot ID: 9b3e8d11480f41b0bff7c41b8220cf9a
    Machine ID: c59721c157404b63a846368d354b7ccf
      Hostname: morfikownia
       Storage: /var/lib/systemd/coredump/core.spacefm.1000.9b3e8d11480f41b0bff7c41b8220cf9a.221557.1736970626000000.zst (present)
  Size on Disk: 11.6M
       Message: Process 221557 (spacefm) of user 1000 dumped core.

                Module libgfortran.so.5 from deb gcc-14-14.2.0-13.amd64
                Module libzstd.so.1 from deb libzstd-1.5.6+dfsg-2.amd64
                Module libgomp.so.1 from deb gcc-14-14.2.0-13.amd64
                Module libsystemd.so.0 from deb systemd-257.2-1.amd64
                Module libblkid.so.1 from deb util-linux-2.40.4-1.amd64
                Module libgcc_s.so.1 from deb gcc-14-14.2.0-13.amd64
                Module libstdc++.so.6 from deb gcc-14-14.2.0-13.amd64
                Module libatomic.so.1 from deb gcc-14-14.2.0-13.amd64
                Module libmount.so.1 from deb util-linux-2.40.4-1.amd64
                Module libudev.so.1 from deb systemd-257.2-1.amd64
                Stack trace of thread 221557:
                #0  0x000074790409ad28 g_type_check_instance_is_a (libgobject-2.0.so.0 + 0x3bd28)
                #1  0x0000747904d4f5a9 gdk_event_source_get_filter_window (libgdk-3.so.0 + 0x945a9)
                #2  0x0000747904cf4554 gdk_display_get_event (libgdk-3.so.0 + 0x39554)
                #3  0x0000747904d4f356 gdk_event_source_dispatch (libgdk-3.so.0 + 0x94356)
                #4  0x0000747903f6a81f g_main_dispatch (libglib-2.0.so.0 + 0x5a81f)
                #5  0x0000747903f6ca57 g_main_context_dispatch_unlocked (libglib-2.0.so.0 + 0x5ca57)
                #6  0x0000747903f6d4af g_main_loop_run (libglib-2.0.so.0 + 0x5d4af)
                #7  0x0000747904606c8d gtk_main (libgtk-3.so.0 + 0x206c8d)
                #8  0x00005cddd0da7c5f n/a (n/a + 0x0)
                #9  0x6f732d6d66656361 n/a (n/a + 0x0)
                ELF object binary architecture: AMD x86-64

GNU gdb (Debian 15.2-1+b1) 15.2
...
Reading symbols from /usr/bin/spacefm...
Reading symbols from /usr/lib/debug/.build-id/53/b6168208901b7b230a4fe54a8add0b63c4e475.debug...
...
This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.debian.net>
Enable debuginfod for this session? (y or [n])
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `spacefm'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  g_type_check_instance_is_a (type_instance=type_instance@entry=0x5cdde07ab9c0, iface_type=102108015467024) at ../../../gobject/gtype.c:4141

warning: 4141   ../../../gobject/gtype.c: No such file or directory
[Current thread is 1 (Thread 0x7478f7a0e240 (LWP 221557))]
(gdb) bt full
#0  g_type_check_instance_is_a (type_instance=type_instance@entry=0x5cdde07ab9c0, iface_type=102108015467024) at ../../../gobject/gtype.c:4141
        node = 0x44444444ff1ffffc
        iface = 0x5cdddffd9a10
        check = <optimized out>
#1  0x0000747904d4f5a9 in gdk_event_source_get_filter_window (event_source=0x5cdddffeec80, xevent=0x7ffe9cf320e0,
    event_translator=<synthetic pointer>) at ../../../gdk/x11/gdkeventsource.c:123
        __inst = 0x5cdde07ab9c0
        __t = <optimized out>
        __r = <optimized out>
        list = 0x0
        window = 0x5cdde07ab9c0
        list = <optimized out>
        window = <optimized out>
        translator = <optimized out>
        __inst = <optimized out>
...
...
...
 
(gdb) q

Także co tam trzeba w tym gdb określić jeszcze by działał bez potrzeby zaciągania do tego systemd? xD

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)