Durante il mio lavoro ho affrontato regolarmente errori di programmazione piuttosto comuni, utilizzando alcuni oggetti che sono già stati liberati. Questo richiama UB in C++. Su linux, questo tipo di problemi viene in genere risolto utilizzando lo strumento Valgrind Memcheck. Da Memcheck manual:C'è Valgrind Memcheck come strumento per Windows per eseguire il debug di utilizzo dopo errori gratuiti?
MemCheck cerca di stabilire quale sia l'indirizzo illegale potrebbe riguardare, dato che è spesso utile. Quindi, se punta a un blocco di memoria che è già stato liberato, sarai informato di questo, e anche dove il blocco è stato liberato.
Memcheck fornisce lo stack di chiamate, in cui l'oggetto è stato deallocato e posso andare avanti ed eseguire il debug del problema. C'è uno strumento simile per windows con la stessa funzionalità, preferibilmente gratuito?
Ho avuto fortuna con Purify in passato ma non è sicuramente gratuito. –
http://stackoverflow.com/questions/413477/is-there-a-good-valgrind-substitute-for-windows – stanwise
Se sei interessato a una risposta solo per C, ne ho uno. –