Když něco rozeberem, tak leda debuggerem.
Konzultate vy jste mi to zavařil,
ten systém není blbej,
jen trochu zpomalenej,
že jste se tenkrát aspoň málo nesnažil.
– softvérový folklór na motívy lyrickej balady
Bez debuggera ani ranu. Neznalosť používania debuggera spôsobuje nadužívanie metód ako logovanie a tracovanie. Takže v kóde máte každý druhý riadok nejaký printf alebo iný nezmysel. Keď takémuto vývojárovi niekto nareportuje problém, tak prvé čo spraví: prídá ďalší print. Nakoniec kód, ktorý počíta 10 gramov fazuliek, má 50 kilo. Pričom log komunikácie pri vložení 10 fazuliek do jamky má minimálne 1.5 MB.
Ako debugovať C++? Veľmi jednoducho. Napríklad pomocou Eclipse. Veľa ľudí zastaví to, že nevedia, ako debugger spustiť. Takže predpokladajme, že máme Eclipse s CDT pluginom. Ideme debugovať pocitadlo_fazuliek_enterprise.
- File – Import – C/C++ – C/C++ Executable
- Select executable – sem napíšte cestu k binárke, browse borcom moc nefunguje – /home/georgik/geck/pocitadlo_fazuliek_enterprise – Next
- New project name – Pozor! Nahraďte medzery znakom _, pretože debugger sa vám nemusím pripojiť pokiaľ je v mene projektu medzera. Samozrejme borci tam defaultne šupnú názov: Debug pocitadlo… Tak ho zmente na Debug_pocitadlo_fazuliek_enterprise
- Launch Configuration – zvoľme: C/C++ Local Application – pokiaľ spúšťame aplikáciu, pre fajnšmekrov je k dispozícii možnosť Attach to local application, tekže sa pripojíte k bežiacej aplikácii a debugujuete tú.
- Name. To isté ako v bode tri, odstránte medzeru.
- Nastavte dvojklikom na paneli vedľa zdrojového kódu break pointy.
- Debug
Eclipse sa prepne do debug perspektívy. To, čo je veľmi prínosné na Eclipse debuggeri, je možnosť prechádzania premenných formou stromu. Window – Show/View – Variables.
No a to je celé! Ušetríte tisíce hodín printfovania a iných nezmyselných ladiacich procedúr.
Ešte klávesové skratky:
- F5 – step into – vstúpiť do aktuálne zobrazenej fcie
- F6 – step over – prejsť na ďalší krok v rovnakej úrovni kódu
- F7 – step return – zastaviť sa až pri opustení fcie o úroveň vyššie
- F8 – pokračuj až kým nenarazíš na ďalší break point
Naviac Eclipse vám zastaví debuggovanie v prípade, že aplikácia obdrží signál.
Debugger podľa môjho názoru patrí k základnej gramotnosti developera.