[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