minovakovi / akdb

An experimental relational DBMS developed by students @ Faculty of Organization and Informatics, University of Zagreb
6 stars 16 forks source link

Issue #237 : mempro.c, observable.c, debug.c #262

Closed Gfilinic closed 1 year ago

Gfilinic commented 1 year ago

Updated observable, formatted debugger, some constans for better error correction, mempro divided into smaller sections

Rastavio slijedeće funkcije u mempro.c : AK_Realloc

void AK_debmod_free(AK_debmod_state ds, void memory)

static void AK_debmod_signal_callback(int sig, siginfo_t si, void unused)

U observable c:

U debug.c i h Promijenjeno: iz vprintf u vsnprintf Dodan buffer,

Dodatno pojašnjenje: Izvorna funkcija AK_dbg_messg() jednostavno se zove vprintf() za izravni ispis poruke o otklanjanju pogrešaka bez ikakvog dodatnog oblikovanja ili informacija o razini i vrsti otklanjanja pogrešaka.

U ažuriranom kodu, funkcija AK_dbg_messg() uključuje sljedeća poboljšanja:

Uvodi polje međuspremnika maksimalne duljine definirane konstantom MAX_DEBUG_MESSAGE_LENGTH. To omogućuje sigurno formatiranje poruke o otklanjanju pogrešaka korištenjem vsnprintf() kako bi se izbjegla prekoračenja međuspremnika.

Razina i tip otklanjanja pogrešaka sada su uključeni u izlaznu poruku pozivanjem funkcija debug_level_to_string() i debug_type_to_string(). Ovo pruža dodatni kontekst i informacije o poruci za otklanjanje pogrešaka.

Formatirana poruka otklanjanja pogrešaka, zajedno s razinom i vrstom otklanjanja pogrešaka, ispisuje se pomoću printf() u formatu "[razina][tip]: poruka". To daje strukturirani i informativniji izlaz.

Sveukupno, ove izmjene poboljšavaju funkcionalnost funkcije AK_dbg_messg() uvođenjem poboljšanja oblikovanja i uključivanjem razine otklanjanja pogrešaka i tipa u izlaznu poruku, čineći je fleksibilnijom i informativnijom za potrebe otklanjanja pogrešaka.