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 04:44 | IT novinky

    Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.

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

    Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Nová verze

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    včera 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 4
    včera 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    16.9. 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    16.9. 17:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

    Ladislav Hagara | Komentářů: 0
    16.9. 12:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (47%)
     (53%)
     (0%)
     (7%)
     (13%)
     (7%)
     (20%)
     (7%)
     (13%)
    Celkem 15 hlasů
     Komentářů: 1, poslední včera 13:49
    Rozcestník

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

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