È necessario creare programatically un minidump (con una sola eccezione, vedi il prossimo link) . CodeProject ha un bel article on MiniDumps. In pratica, si desidera utilizzare dbghelp.dll
e utilizzare la funzione MiniDumpWriteDump()
(vedere MSDN on MiniDumpWriteDump).
L'efficacia di tali discariche dipende molto dall'applicazione. A volte, per i binari ottimizzati, sono praticamente inutili. Inoltre, senza esperienza, gli errori di corruzione heap/stack ti porteranno fuori strada.
Tuttavia, se l'ottimizzatore non è stato troppo duro con te, c'è una grande classe di errori in cui le discariche fanno aiuto, vale a dire tutti i bug dove avere uno stack-trace + valori delle variabili utilizzate a livello locale è utile , vale a dire molte cose di chiamata a pura funzione virtuale (ovvero ordine di distruzione errato), violazioni di accesso (assegni non inizializzati o assenti NULL mancanti), ecc.
BTW, se la politica di manutenzione lo consente in qualche modo, trasferire l'applicazione da VC6 a qualcosa di accettabile, come VC8 o 9. Ti farai un grande favore.
È sempre possibile combinare try-catch e fstream per creare il proprio minidump. –