ZAP - Cvičenie č. 6 | Lab 6 (2021/2022)

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Cvičenie sa zameriava na ladenie programov pomocou nástroja CGDB (GNU Debugger) na príklade programu hľadajúceho prvok v poli (linear.c). Na chybnom kóde sa demonštruje typická chyba použitia operátora sizeof na pole odovzdané ako parameter funkcie, kedy sa namiesto veľkosti poľa vráti veľkosť ukazovateľa. Riešením je odovzdávanie veľkosti poľa ako samostatného parametra funkcie, čo je odporúčaný postup aj pre budúce zadania. Následne sa program prekladá s prepínačom -g, ktorý umožňuje jeho krokovanie v nástroji CGDB, pričom sa vysvetľuje rozdelenie obrazovky na okno so zdrojovým kódom a GDB okno a základné klávesové skratky inšpirované editorom VIM.

  • - Cvičenie sa venuje ladeniu a krokovaniu programov pomocou nástroja CGDB (GNU Debugger).
  • - Na príklade programu linear.c sa demonštruje chybné použitie sizeof na pole odovzdané ako parameter funkcie.
  • - Sizeof vo funkcii, kde pole nebolo priamo deklarované, vráti veľkosť ukazovateľa, nie veľkosť poľa.
  • - Správne riešenie: veľkosť poľa treba odovzdávať ako samostatný parameter funkcie (okrem reťazcov).
  • - Pre ladenie je nutné prekladať program s prepínačom -g (napr. cez CFLAGS).
  • - CGDB rozdeľuje obrazovku na okno so zdrojovým kódom a GDB okno v spodnej časti.
  • - Ovládanie CGDB je inšpirované klávesovými skratkami editora VIM (napr. ESC na prepnutie do okna kódu).

Zhrnutie pripravené s pomocou AI z prepisu videa.