abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 11:44 | Nová verze

    Byla vydána nová verze 3.2.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:33 | Nová verze

    Bylo vydáno Ubuntu 24.04.5 LTS, tj. páté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Komunita

    Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.

    Ladislav Hagara | Komentářů: 5
    dnes 04:22 | Komunita

    V italském městě Pordenone probíhá LibreOffice Conference 2026. Zúčastnit se lze i online.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Nová verze

    Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Pozvánky

    Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.

    Petr Krčmář | Komentářů: 0
    včera 11:00 | Nová verze

    Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Nová verze

    Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    9.9. 22:22 | IT novinky Ladislav Hagara | Komentářů: 7
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2638 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: gdb, abort(), SIGABRT - jak na backtrace?

    30.4.2006 14:24 Boris
    gdb, abort(), SIGABRT - jak na backtrace?
    Přečteno: 398×
    Ahoj všichni,

    napsal jsem si něco malého a chci odchytnout jeden bug pomocí gdb. Při tom bugu dojde k volání abort, a díky tomu vznikne nepoužitelná backtrace:
    Program received signal SIGABRT, Aborted.
    [Switching to Thread -1213556544 (LWP 7081)]
    0xffffe410 in __kernel_vsyscall ()
    (gdb) bt
    #0  0xffffe410 in __kernel_vsyscall ()
    #1  0xb7ad52ff in raise () from /lib/libc.so.6
    #2  0xb7bdeff4 in ?? () from /lib/libc.so.6
    #3  0xb7aa98c0 in ?? ()
    #4  0xb7ad6e1d in abort () from /lib/libc.so.6
    #5  0xbf80aa80 in ?? ()
    #6  0x00000000 in ?? ()
    
    Knihovna Qt, kterou v programu používám, přeložena s -g, samotná aplikace pak s -g3. Verze gdb 6.4, kernel 2.6.16.

    Zkoušel jsem Googlit a odpověď jsem nenašel, jen zmínku na debian-listu o tom, že někomu to nešlo a někdo jiný se divil proč, protože mu to jde.

    Díky moc za každý nápad, jak dostat použitelnou backtrace.

    Odpovědi

    30.4.2006 14:31 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: gdb, abort(), SIGABRT - jak na backtrace?
    Nejdřív použijte 'ulimit -c unlimited', pak to nechte spadnout a pak nechte gdb, ať si načte výsledný core file (měl by se jmenovat core.pid, kde pid je PID toho spadlého procesu).
    30.4.2006 14:38 Boris
    Rozbalit Rozbalit vše Re: gdb, abort(), SIGABRT - jak na backtrace?
    Díky za reakci.

    Udělal jsem to tak, jak jste řekl. Ale bohužel:
    (gdb) core-file core
    (no debugging symbols found)
    Using host libthread_db library "/lib/libthread_db.so.1".
    Core was generated by `./strip hg_lampa.dat'.
    Program terminated with signal 6, Aborted.
    #0  0xffffe410 in __kernel_vsyscall ()
    (gdb) bt
    #0  0xffffe410 in __kernel_vsyscall ()
    #1  0xb7b222ff in ?? ()
    
    30.4.2006 14:44 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: gdb, abort(), SIGABRT - jak na backtrace?
    Zaráží mne tam to "no debugging symbols found", zkusil bych to přeložit s -ggdb a zkontrolovat, jestli se tam ty ladící symboly někde neodstripují. Co o tom spustitelném souboru píše file?
    30.4.2006 14:45 Boris
    Rozbalit Rozbalit vše Re: gdb, abort(), SIGABRT - jak na backtrace?
    Teď jsem si uvědomil, že jsem při emerge qt nedal FEATURES="nostrip", což asi má na problém vliv, takže teď znova emerguju s nostrip. Až bude hotovo, dám vědět.
    30.4.2006 14:56 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: gdb, abort(), SIGABRT - jak na backtrace?
    Nedostaneš ten SIGABRT až v okamžiku kdy je přepsaný zásobník? To by vypadalo nějak takhle.

    Pusť to ve valgrindu, tam zjistíš co provádíš špatně.
    30.4.2006 15:15 Boris
    Rozbalit Rozbalit vše Re: gdb, abort(), SIGABRT - jak na backtrace?
    Díky, valgrind mi asi prozradil to chybné místo:
    ==21473==    at 0x435F2FF: raise (in /lib/libc-2.4.so)
    ==21473==    by 0x40B1754: qFatal(char const*, ...) (in /usr/lib/qt4/libQtCore_debug.so.4.1.2)
    ==21473==    by 0x40B0EC3: qt_assert_x(char const*, char const*, char const*, int) (in /usr/lib/qt4/libQtCore_debug.so.4.1.2)
    ==21473==    by 0x804A111: QList{QString}::operator[](int) (qlist.h:369)
    ==21473==    by 0x8049BD9: main (strip.cpp:25)
    
    (musel jsem dát {} místo <>, protože abíčko hlásilo, že "Značka QSTRING není povolena!" :)

    Teď už jen přijít na to, proč moje použití [] je blbě. To už naštěstí zvládnu sám.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.