Debugging | ZAP Tutorial (2024/2025)

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 venuje ladeniu programu lineárneho vyhľadávania pomocou nástroja cgdb. Najprv sa rieši preklad programu s prepínačom -G, ktorý je potrebný na povolenie debugovania a jeho nastavenie v konfiguračných súboroch shellu (bashrc/profile). Ďalej sa odhaľuje chyba spôsobená použitím operátora sizeof na pole odovzdané funkcii ako parameter, kde namiesto veľkosti poľa vracia veľkosť ukazovateľa, čo sa rieši pridaním nového parametra s veľkosťou poľa. Pomocou cgdb sa demonštruje nastavovanie breakpointov, krokovanie programu (continue, run) a sledovanie hodnôt premenných (display), čím sa identifikuje ďalšia chyba – nesprávny výpočet veľkosti poľa v bajtoch namiesto počtu prvkov, ktorý treba vydeliť veľkosťou typu int.

  • - Predstavenie nástroja cgdb na krokovanie a ladenie C programov
  • - Nutnosť prekladu s prepínačom -G pre povolenie debugovania a jeho nastavenie v .bashrc/.profile
  • - Chyba pri použití sizeof na pole odovzdané ako parameter funkcie – vracia veľkosť ukazovateľa, nie poľa
  • - Riešenie: odovzdávanie veľkosti poľa ako samostatného parametra funkcie
  • - Práca s breakpointmi (Space), krokovaním (Run/F5, Continue/F6) a zobrazovaním premenných (display) v cgdb
  • - Prepínanie medzi oknami kódu a príkazového riadku pomocou Escape a i
  • - Odhalenie chyby vo výpočte veľkosti poľa – nutnosť delenia celkovej veľkosti v bajtoch veľkosťou typu int

Zhrnutie pripravené s pomocou AI z prepisu videa.