Produkty Novinky Články Návody Kontakty

Debugger GDB

Máme napsanou a zkompilovanou aplikaci, pustíme ji, ale ona nefunguje, jak jsme si představovali, nebo dokonce padá. Tehdy je nejvyšší čas povolat ke slovu dalšího nepostradelného pomocníka programátora - debugger - nástroj pro ladění chyb. Jako programátoři aplikací pro operační systém Linux použijeme známý a léty ověřený GNU debugger zkráceně též gdb. V následujícíh řádcích se seznámíme s jeho možnostmi a ovládáním. Dozvíme se i něco málo o trasovacích nástrojích a zjistíme, že i když je debugger gdb nástrojem pro příkazovou řádku, tak přesto existují programy, které slouží jako jeho zdařilé grafické nadstavby.
Úvodem si zkusme nastínit situace, v kterých nám bude debugger gdb nápomocen. Ladění běžící aplikace je totiž jen jednou z možností, které debugger gdb nabízí:
  • Analýza výpisu paměti (core dump) - používá se pro odhalení příčin pádu aplikace, tzv. post mortem debugging.
  • Ladění aplikace (debugging) - umožňuje zkoumat chování místní (na našem počítači) aplikace za běhu.
  • Vzdálené ladění (remote debugging) - umožňuje zkoumat chování aplikace běžící na jiném počítači, typicky na cílovém zařízení.
Poznámka: Pro ladění aplikací přímo v cílových embedded zařízeních budeme samozřejmě používat křížovou variantu debuggeru gdb (cross-debugger) určenou pro naši cílovou platformu. To znamená, že debugger gdb poběží na našem počítači, ale přitom bude možné ladit aplikaci přímo v cílovém zařízení.
Všechny tři možnosti debuggeru gdb si vzápětí rozebereme více do detailů. Vše si budeme ukazovat na praktických příkladech, žadné teoretizování. A pokud máte k dispozici i nějaké to embedded zařízení, ukážeme si i jak ladit aplikaci, která běží přímo na něm.