Portál AbcLinuxu, 23. května 2024 06:59


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
Luboš Doležel (Doli) avatar 1.3.2008 01:49 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Odpovědět | Sbalit | Link | Blokovat | Admin
Častým důvodem je původní CLI rozhraní GDB, nicméně to není v současné době jediná možnost.
U mě je důvodem to, že 1) je často příčinou pádu programu - při attachu se někdy začnou dít naprosto šílené věci 2) pád programu ho samotného zhavaruje 3) občas když pauznu ladění a chci pokračovat, tvrdí, že nemá proces 4) občas dokonce udělá SIGSTOP sám na sebe
1.3.2008 01:56 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
A debugujes necim jinym? Ja pouzivam jeste valgrind, ktery je sice schopen vypsat mnohem relevantnejsi informace, ale to je trochu jiny styl debugovani.
Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
1.3.2008 03:50 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Valgrind není debugger v pravém slova smyslu - ano, můžeš v něm najít některé chyby (ty, které se týkají práce s pamětí), ale to je víceméně všechno (uznávám, není to málo)

Bohužel bych řekl, že dobré vývojové prostředí, které by zahrnovalo kvalitní debugger, v Linuxu zatím chybí. Gdb sice v některých situacích poslouží, ale pokud to srovnám třeba s Delphi, tak kam se hrabe.
Quando omni flunkus moritati
1.3.2008 04:49 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Valgrind ma dva debugovaci moduly. Memcheck se stara o pamet a pak je tady jeste Helgrind, ktery hleda chyby pri praci s vlakny.

Dobry integrovany debuger ma napriklad Eclipse CDT, ale tam to zase narazi na to ze GDB ve standardu neumi STL.
Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
Luk avatar 1.3.2008 14:38 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Valgrind ma dva debugovaci moduly. Memcheck se stara o pamet a pak je tady jeste Helgrind, ktery hleda chyby pri praci s vlakny.
Valgrind má ještě také cachegrind (využití cache), callgrind (profiling volání) a massif (profiling haldy). Kromě toho umožňuje přidat si vlastní modul. Mám ale pocit, že některé moduly v novějších verzích nefungují (snad helgrind?).
Dobry integrovany debuger ma napriklad Eclipse CDT, ale tam to zase narazi na to ze GDB ve standardu neumi STL.
Debugger v Eclipse blbne, stejně tak v NetBeans a Sun Studiu. Občas podivně chcípne, jindy ani nechce spustit program, má problémy při ladění ve sdílených knihovnách atd. Často se musím uchýlit k ladění přímo pomocí gdb.
Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
1.3.2008 15:46 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Valgrind má ještě také cachegrind (využití cache), callgrind (profiling volání) a massif (profiling haldy). Kromě toho umožňuje přidat si vlastní modul. Mám ale pocit, že některé moduly v novějších verzích nefungují (snad helgrind?).
Tady se bavime o debugovani a debugovat cachegrindem, nebo massifem si nedokazu moc predstavit :-D A helgrind byl v posledni verzi opraven (massif kompletne prepracovan).
Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
Luk avatar 1.3.2008 16:14 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Tady se bavime o debugovani a debugovat cachegrindem, nebo massifem si nedokazu moc predstavit
Já jsem to uvedl hlavně pro úplnost - nicméně například zbytečné zdlouhavé prodlévání ve funkcích může být způsobené nějakým bugem, proto je callgrind důležitým debugovacím modulem. Podobné příklady by se daly najít i u zbývajících modulů, byť u nich jde hlavně o výkon.
A helgrind byl v posledni verzi opraven (massif kompletne prepracovan)
To je dobrá zpráva ;-)
Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
1.3.2008 05:28 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Docela zajímavě jako nezávislé nebuggery vypadají edb-debugger a UPS. Obzvlášť na UPS jsem viděl jen samou chválu, ale poslední update je čtyři rok starý a 64b verze není a už asi ani nebude. :-( Škoda, taky mi připadal dost dobrý, když jsem si ho zkoušel. :-( Ale hluboký přehled o nich nemám, to přiznávám. :-)
1.3.2008 05:42 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Vzpomínám si z UPS na jednu fíčuru - obsahuje interpret ANSI C a umožňuje klidně i do breaknutého programu "dopsat" kus kódu a UPS se už postará, aby se spouštěl ve správnou chvíli - není třeba nic rekompilovat, restartovat, prostě nic. Nejspíše to má nějaká omezení, třeba proměnné vyoptimalizované fuč to nemusí vidět, ale zase je možné, že v takovém případě to začne intepretovat celou funkci. (Co to dělá s inliningem, to nevím, ale zase bych nečekal, že se inlining a ladicí informace sejdou v jedné binárce, má-li člověk rozum. :-)) Každopádně to je asi sexy fíčura. Nenaportuje to někdo na AMD64? :-)
1.3.2008 10:17 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Nenaportuje to někdo na AMD64?
Třeba Kyosuke? :-)
1.3.2008 14:48 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Hmmm, to bych si moc netroufal. :-( To už by možná mohlo být jenoddušší udělat jeden malý čistě 64b, ne abych se tohle snažil číst a upravovat. 64b ABI je hezky popsané, na DWARF-2 je taky nějaká dokumentace... Otázka ale je, jaký by to pro mě mělo smysl. :-D A už vůbec nepočítej s tím, že by to podporovalo C++. Asi bych se tím naučil hodně o střevech, ale nevím, co víc bych tím získal. :-) Navíc předmět "Psaní debuggerů 1" jsme ve škole neměli. ;-) Hele, až jednou budu vědět, že příštích pár let nebudu mít nic lepšího na starosti, tak se ozvu. ;-)
1.3.2008 07:36 Libor
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Odpovědět | Sbalit | Link | Blokovat | Admin
Že to má něco víc než CLI jsem vůbec nevěděl :-) Jak dlouho to tam je?
1.3.2008 09:54 qk | skóre: 15 | blog: qk_develop
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
O tom vic nez CLI sem taky nevedel, tak pouziv cgdb (n-curse frontend) a ten ma jeste par jinych vyhod, takze ho asi stale budu uprednostnovat.
1.3.2008 10:06 disorder | blog: weblog
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Odpovědět | Sbalit | Link | Blokovat | Admin
no, malokedy hodnotim, ale toto bolo prijemne prekvapko

BTW v zsh limit co unlimited (resp. aj cely nazov coredumpsize)

a dalsi frontend Grand Unified Debugger
1.3.2008 14:59 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Odpovědět | Sbalit | Link | Blokovat | Admin
Jéé Joomla ;-) a verze 1.5 ;-)
Josef Kufner avatar 1.3.2008 22:07 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Debugování v Linuxu (GDB)
Odpovědět | Sbalit | Link | Blokovat | Admin
Doporučuju ddd. Umí toho kopec, konzole gdb tam je taky a hezky to kreslí datové struktury.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.