Debugging ladeni v QT creatoru

Debugger je velice užitečný nástroj pro programátory. Mnohdy odhalí, proč program pracuje tak jak nemá a ušetří spoustu času při řešení takových nesrozumitelných chybách či překlepech v kódu. Postup ladění si ukážeme v programu QT Creator.

Na vyzkoušení debuggeru použijeme následující kód:

#include <stdio.h>

int main(void)
{
    int cislo1 = 10;
    int cislo2 = 20;

    printf("%d\n", cislo1);
    printf("%d\n", cislo2);

    return 0;
}

Postup ladění programu v QT creatoru

Nyní na určitý řádek v kódu musíme vložit Breakpoint. Klikneme na řádek, kde jej chceme vložit a klávesou F9 jej přidáme. Dá se přidat také kliknutím do volného šedého prostoru nalevo od čísla řádku. Breakpoint vložíme na 5. řádek.

Breakpoint

Při spuštění debuggeru F5 se vývojové prostředí automaticky přepne z editace (Edit Mode) do debuggeru (Debug Mode), zobrazí se konzole a program by se měl zaseknout na řádku, kde máme první breakpoint, v tomto případě 5. řádek.

QT Creator - Debugging

Prostředí debuggeru vidíte na obrázku, oproti Edit Modu zde navíc máte 3 okna. Vpravo nahoře seznam proměnných. Pod tímto oknem je seznam všech Breakpointu použitých v kódu. Nalevo od tohoto okna je zobrazeno kde v kódu se právě nacházíme (= řádek 5, funkce main). V okně se zdrojovým kódem je také navíc žlutá šipka (u čísla řádku) ta také informuje, kde se nacházíme. Můžeme vidět, že již jsou deklarovány proměnné aniž by debugger přes ně prošel, ale inicializace rozhodně nejsou správné. Hodnoty proměnných jsou načtený z paměti, kde jsou uloženy. Tuto stejnou paměť mohla využívat jiná aplikace v počítači, proto je hodnota proměnných takto nesmyslná.

Ovládání ladění je jednoduché,  budou nám stačit tyto 3 operace:

  • Step Into (F11) – operace která krokuje všechny operace, které se provedou při výpočtu (= nic nepřeskakuje)
  • Step Over (F10) – tato operace pracuje obdobně jako Step Into, akorát se nevnořuje do funkcí, které jsou volány v kódu
  • Step Out (Shift + F11) – pokud bychom se nacházeli ve vnořené funkci, která je příliš dlouhá tak tato operace nám pomůže se dostat nakonec a pokračovat v kódu kde funkce byla zavolána

Zkusíme si použití operací ukázat na příkladu.

QT Creator - Debugging

Nyní jsme použili 2x operaci Step Over (operace Step Into by se chovala stejně) a inicializace proměnné nyní máme správně. Nacházíme se na řádku 8.

  • Pokud bychom nyní použili Step Into dostali bychom se do funkce printf a museli bychom odkrokovat všechny řádky, které funkce obsahuje, taky bychom mohli z funkce vyskočit pomoci Step Out.
  • Pokud bychom použili Step Over, vůbec bychom se do funkce printf nedostali, ale její výpočet se provede. Operace Step Into se může hodit, právě pokud bychom se potřebovali dostat do funkcí, které jsme si sami naimplementovali, procházet vestavěné funkce nemá smysl, víme, že pracují správně.

Od předchozího obrázku jsme použili 5x Step Over a dostali jsme se nakonec výpočtu celého programu.

QT Creator - Debugging

Doufám, že tento tutoriál byl pro vás aspoň trochu užitečný.

Vítejte na staronovém webu JakProgramovat.cz

Vítejte, je to zhruba rok, co naše stránka z časových a z toho později vzniklých technických důvodu, přestala fungovat. Byla by však škoda toho obsahu, který se tam za dobu provozu nashromáždil. Dnes tedy padlo rozhodnutí, že uvedeme celý projekt znovu k životu.

Změnili jsme redakční systém a přešli na nám již důvěrné známy WordPress. Momentálně je stránka s minimem obsahu a bez designu. Obsah budeme přidávat postupně a nejpozději do měsíce by měl být povodní obsah opět přístupný. S designem to bude podobné, určitě se můžete těšit na nový neotřelý „user friendly“ vzhled.

Po naplnění webu starým obsahem tedy lekcemi VBA, Pascalu a jazyka C. Budou přibývat i nové články zejména ze světa webdesignu je možné, že připravíme i komplexnější tutoriál z této oblasti.

Instalace QT Creatoru

V tomto článku si ukážeme postup při instalaci vývojového prostředí Qt Creator. Tento software umožňuje vytvářet mobilní i desktopové aplikace. Je dostupný v různých variantách. My použijeme verzi, která obsahuje veškeré knihovny Qt a také vývojové nástroje (SDK). Používáme verzi určenou pro platformu OS Windows 32bit.

Ke stažení ZDE.

Pro další platformy klikněte ZDE

V tomto instalačním balíčku je vývojové prostředí Qt Creator dostupné v nejnovější verzi.

Qt Creator obsahuje:

  • editor kódu pro C/C++ a JavaScript
  • prostředí pro návrh UI
  • GDB a CDB debuggery
  • podporu pro správu verzí
  • simulátor pro uživatelská rozhraní mobilních aplikací

Velkou výhodou Qt Creatoru je jeho podrobná dokumentace, obsahující zdrojové kódy.

Instalace:

  1. V úvodním okně klikneme na Next.
  2. V následujícím okně po nás vyžadují přihlášení/registraci ale tu klidně můžeme přeskočit, klikneme na Skip.
  3. V dalším kroku pouze klikneme na Next.
  4. V tom následujícím zvolíme instalační složku a pokračujeme Next.
  5. V tomto okně zvolíme, jaké všechny funkce chceme nainstalovat, viz. Obrázek.Komponenty
  6. V dalším kroku potvrdíme souhlas s podmínkami použití a následně můžeme program nainstalovat. Instalace trvá přibližně 30 minut.

Nastavení:

  1. Změna jazyka na angličtinu (Nástroje -> Volby -> Prostředí -> karta Interface -> Jazyk: Angličtina) Pro dokončení změny je potřeba program restartovat.

Instalace Qt Creatoru je kompletní. Nyní si můžete vyzkoušet první projekt. Návod jak jej vytvořit v jazyce C najdete ZDE.