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í
×
    včera 21:22 | Nová verze

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

    Ladislav Hagara | Komentářů: 0
    včera 05:44 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    9.9. 21:00 | IT novinky Ladislav Hagara | Komentářů: 14
    9.9. 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    9.9. 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    9.9. 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    8.9. 22:00 | IT novinky

    Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.

    Ladislav Hagara | Komentářů: 0
    8.9. 18:44 | Zajímavý článek

    Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.

    🇵🇸 | Komentářů: 31
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (2%)
     (4%)
     (2%)
    Celkem 163 hlasů
     Komentářů: 12, poslední včera 13:00
    Rozcestník

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

    30.4.2006 14:24 Boris
    gdb, abort(), SIGABRT - jak na backtrace?
    Přečteno: 222×
    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.