Debug

Započeo NikolaBL, Novembar 06, 2021, 02:59:14 PRE PODNE

prethodna tema - sledeća tema

0 članova i 3 gostiju pregledaju ovu temu.

Problem(error/warning): Mozda glupo pitanje, kako da debugujem nesto ?
Deo skripte:
Pawno Code: [Izaberi]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
Poslednja Izmena: Novembar 06, 2021, 18:07:41 POSLE PODNE od M Ө M Σ N Z I

Debugging je sirok pojam ali najkrace receno odnosi se na trazenje/prepoznavanje bugova u kodu i njihovo otklanjanje.
Postoji dosta metoda debugginga i u zavisnosti od bug-a moras da izaberes koja ce tebi najbolje da sluzi.

Najcesce ces koristiti Tracing/print debugging koji radis tako sto na osnovu flow-a programa dodajes printove. Koristicu primjere za pawn

new g_Array[50];
stock AssingArrayIndexValue(index, value) {
printf("Called AssingArrayIndexValue(%d, %d);", index, value);
g_Array[index] = value;
printf("g_Array[%d] = %d;", index, value);
return 1;
}

// U nastavku koda ces koristiti npr
AssignArrayIndexValue(1, 200); // Ovo ce raditi i ispisace oba printa
AssignArrayIndexValue(500, 100); // Ovo nece raditi jer pokusavas arrayu koji ima size 50 modifikovati index 500 tako da se drugi print nece pozvati


Na osnovu toga sto se drugi print ne poziva zakljucices gdje program staje te ces dalje pokusavati da nadjes soluciju za dati problem.

Dalje imas debugovanje na osnovu crash-a odnosno analiziranja memory dump-a crashovanog procesa. U SAMP-u bi to bilo na osnovu outputa koji daje crashdetect plugin. Trenutno nemam primjera a ni volje da reprodukujem crash.

Imas takodje debugovanje pisanjem tzv. testova. Ugl. radi se o tome da funkciju koju napises "provuces" kroz razne testove. Primijer za ovo mozes naci u bilo kojem modulu YSI Includesa.
https://github.com/pawn-lang/YSI-Includes

I jos dosta metoda i taktika debugovanja. Ako te vise zanima imas ovaj free course koji je jako hvaljen: https://www.udacity.com/course/software-debugging--cs259

Citat: // xunder poslato Novembar 06, 2021, 03:25:20 PRE PODNE
Debugging je sirok pojam ali najkrace receno odnosi se na trazenje/prepoznavanje bugova u kodu i njihovo otklanjanje.
Postoji dosta metoda debugginga i u zavisnosti od bug-a moras da izaberes koja ce tebi najbolje da sluzi.
Hvala ?

Najcesce ces koristiti Tracing/print debugging koji radis tako sto na osnovu flow-a programa dodajes printove. Koristicu primjere za pawn

new g_Array[50];
stock AssingArrayIndexValue(index, value) {
printf("Called AssingArrayIndexValue(%d, %d);", index, value);
g_Array[index] = value;
printf("g_Array[%d] = %d;", index, value);
return 1;
}

// U nastavku koda ces koristiti npr
AssignArrayIndexValue(1, 200); // Ovo ce raditi i ispisace oba printa
AssignArrayIndexValue(500, 100); // Ovo nece raditi jer pokusavas arrayu koji ima size 50 modifikovati index 500 tako da se drugi print nece pozvati


Na osnovu toga sto se drugi print ne poziva zakljucices gdje program staje te ces dalje pokusavati da nadjes soluciju za dati problem.

Dalje imas debugovanje na osnovu crash-a odnosno analiziranja memory dump-a crashovanog procesa. U SAMP-u bi to bilo na osnovu outputa koji daje crashdetect plugin. Trenutno nemam primjera a ni volje da reprodukujem crash.

Imas takodje debugovanje pisanjem tzv. testova. Ugl. radi se o tome da funkciju koju napises "provuces" kroz razne testove. Primijer za ovo mozes naci u bilo kojem modulu YSI Includesa.
https://github.com/pawn-lang/YSI-Includes

I jos dosta metoda i taktika debugovanja. Ako te vise zanima imas ovaj free course koji je jako hvaljen: https://www.udacity.com/course/software-debugging--cs259
Hvalaa
Poslednja Izmena: Novembar 06, 2021, 12:49:30 POSLE PODNE od NikolaBL