Debugging | ZAP Tutorial (2024/2025)
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.
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.
nechodím na prednášky