You are on page 1of 4

Veleučilište u Rijeci - PSS Telematika ak. god. 2022./2023.

ALGORITMI I STRUKTURE PODATAKA


2. vježba: Upotreba VS debugger alata

Debugger je jedna od osnovnih komponenti svakog IDE-a (engl. Integrated Development


Environment), kao što je Visual Studio. To je alat koji nam omogućava da lakše pronađemo
pogreške u kodu – on omogućava analizu koda liniju po liniju i praćenje stanja memorije,
a time i praćenje trenutnih vrijednosti svih varijabli programa.

Neka je dan sljedeći primjer koda:

// primjer: debugger u VS-u


#include<stdio.h>

int main(void)
{
int a, b, c, i;
char zahvala[] = "\n\n Hvala Vam na koristenju ovog programa. \n Zelimo Vam
ugodan ostatak dana.";

printf("\n ... Program za izracun razlike dva cijela broja (a-b) ...");

printf("\n\n\t Unesite prvi cijeli broj (a): ");


scanf_s("%d", &a);

printf("\n\t Unesite drugi cijeli broj (b): ");


scanf_s("%d", &b);

c = b - a;
printf("\n\n\t %d - %d = %d", a, b, c);

printf("\n\n");

for (i = 0; i < 76; i++)


printf("%c", zahvala[i]);

printf("\n\n");
return 0;
}

Ovaj program sadrži pogrešku. Iako je ta pogreška (c=b-a) u ovom slučaju vidljiva i
„iz aviona“, na ovom jednostavnom primjeru koda vidjet ćemo koji su osnovni koraci u
upotrebi debuggera.

Stranica 1 od 4
Veleučilište u Rijeci - PSS Telematika ak. god. 2022./2023.

Koraci:

1. Postavljanje jednog ili više breakpoint-ova

Kao što i samo ime kaže, breakpoint (u prijevodu: točka prekida, točka kočenja) je
linija u kodu do koje se program izvrši, stane i nakon toga čeka „upute“ programera.

U VS-u se breakpoint postavlja tako da se klikne na sivu traku lijevo od rednog broja
linije u kodu. Oznaka postavljenog breakpoint-a je crveni krug.

Stranica 2 od 4
Veleučilište u Rijeci - PSS Telematika ak. god. 2022./2023.

2. Pokretanje debugger moda

Odabrati Debug -> StartDebugging (tipka F5). Program se pokrenuo i stao upravo na
mjestu prvog postavljenog breakpoint-a (linija 9) što naznačava žuta strelica.

U donjem lijevom okviru odabrati tab Locals u kojem možemo pratiti trenutno stanje
svih varijabli našeg main(). Vidimo da su vrijednosti svih varijabli deklariranih u
main() trenutno „smeće“, jer nisu inicijalizirane.

Stranica 3 od 4
Veleučilište u Rijeci - PSS Telematika ak. god. 2022./2023.

3. Kretanje kroz kod

Kroz program možemo napredovati liniju po liniju klikom na ikonu (Step Over, F10)

ili od breakpoint-a do breakpoint-a klikom na ikonu (Continue, F5).

Primjer napredovanja liniju po liniju:

- 1. klik: u tabu Locals se vidi da se uspješno inicijalizirala vrijednost polja


znakova 'zahvala',

- 2. klik: u prozoru konzole se ispisao naslovni redak programa,

- 3. klik: ispisuje se „Unesite prvi ...“,

- 4. klik: korisnik mora unijeti broj u konzolni prozor i stisnuti Enter (nakon Enter
se u tabu Locals vidi da se uspješno postavila vrijednost varijabli 'a'),

- 5. klik: ispisuje se „Unesite drugi ...“,

- 6. klik: korisnik mora unijeti broj u konzolni prozor i stisnuti Enter (nakon Enter
se u tabu Locals vidi da se uspješno postavila vrijednost varijabli 'b'),

- 7. klik: varijabli 'c' se postavila vrijednost b-a, i upravo smo pronašli pogrešku
u kodu,

- .....,

- kada dođemo do for petlje (linija 24), možemo je brzo proći korištenjem Continue
jer bi inače (upotrebom Step Over) morali 76 puta prolaziti retke 24 i 25 našeg
koda. Na taj način smo „odmah“ došli do zadnjeg, četvrtog, breakpoint-a. Možemo
dalje nastaviti s Continue ili liniju po liniju upotrebom Step Over sve do kraja
programa.

Za one koji žele znati više:

- odličan Youtube videozapis: How to DEBUG C++ in VISUAL STUDIO - YouTube


- Microsoftova VS dokumentacija: Debugging in Visual Studio - Visual Studio | Microsoft Docs

Stranica 4 od 4

You might also like