Ciao ragazzi, sto inceppando in un errore in runtime
ve lo spiego meglio che posso.
ho scritto un'applicazione di circa 500 righe con visual studio 2010 in c++
in questa applicazione alloca memoria in modo dinamico per dei puntatori a TCHAR in questo modo:
Fin qui tutto okcodice:TCHAR * szMyString; szMyString = new TCHAR [100]; /*uso la mia stringa*/ delete [] szMyString;
poi nell'applicazione quando il ritorno di certe funzioni causava valori falsi ho deciso di fare comparire un MessageBox() e di terminare l'applicazione....in questo modo però quasi sempre quando riavviavo l'exe mi dava un errore di runtime, più in specifico mi diceva che la memoria heap era gestita male.
Dopo un lungo pensare e debuggare sono arrivato alla conclusione (ESATTA) che quando trovavo un eccezzione dovevo fare "delete [] szBlaBlaBla" per ripristinare la memoria
Fin qui si direbbe tutto ok
PERO' se per disgrazia l'applicazione va in CRASH, e ciò non si può evitare completamente perchè può accadere, se rieseguo l'exe mi va in crash per heap malgestito !!!!![]()
![]()
![]()
l'unico modo è riavviare il pc così la memoria si resetta!!!!
Come posso fare?????? aiuto vi prego!!!
i programmi come firefox o altro se vanno in crush continuano il loro funzionamento senza problemi!!!!