[QGHG-it-dev-list] Zadatak 36 (VAZNO) - debagovanje deinstanciranja kompleksa iz memorije
Marko Vojinovic
vmarko at ipb.ac.rs
Wed Nov 30 15:47:45 CET 2022
Ako u main() funkciji seed-ujem bilo kakav kompleks, pa ga onda obrisem, npr. ovako:
SimpComp *simpComp = seed_sphere(3, "3-sfera");
delete simpComp;
program se ne izvrsi kako treba, doceka me greska:
Segmentation fault (core dumped)
Drugi (razlicit) primer --- ako seed-ujem kompleks, pa mu dodam neke boje, pa ga onda obrisem, npr. ovako:
SimpComp *simpComp = seed_sphere(3, "3-sfera");
UniqueIDColor::colorize_entire_complex(simpComp);
delete simpComp;
program se ni tada ne izvrsi kako treba, ali me sada doceka drugacija greska:
free(): double free detected in tcache 2
Aborted (core dumped)
Ocigledno se neki delovi SimpComp strukture ne deinstanciraju kako treba, ali ja ne vidim u cemu je tacno problem (ne snalazim se sa debagovanjem destruktora u C++ klasama). Verovatno je za to vezan i memory-leaking na koji se zalio Dusan kad je proveravao to sa valgrind-om.
Ovo bi moralo da se debaguje i popravi, sto pre to bolje --- implementacija f-je unseed_complex() iz Zadatka 33 nije moguca ako postoje problemi sa dealociranjem memorije.
:-)
Marko
Dr. Marko Vojinovic
Group for Gravitation, Particles and Fields
Institute of Physics
University of Belgrade
======================
home page: www.markovojinovic.com
e-mail: vmarko at ipb.ac.rs
More information about the QGHG-it-dev-list
mailing list