2009-12-21 7 views
6

Se la mia applicazione si blocca, una libreria di runtime Microsoft Visual C++ "Errore di runtime!" si verifica.Disabilitare Microsoft Visual C++ Errore di runtime

Il testo del messaggio è:
Questa applicazione ha richiesto al Runtime di terminare in modo insolito.
Per ulteriori informazioni, contattare il team di supporto dell'applicazione.

So che ho bisogno di risolvere tutti questi problemi, ma immagino che questo errore non sia apparso in passato. Esiste un'opzione in Visual Studio 2005 per abilitare/disabilitare tale errore (gestione) ?. Invece mi aspetto che l'applicazione si blocchi/esca e offra un rapporto errori di Microsoft Windows.

+0

mi aspetto che il programma ha qualche lato effetto che non è più valido verso i cambiamenti del compilatore e iniziate dato messaggi di errore. –

risposta

9

Questo messaggio di errore viene visualizzato se un'eccezione non viene gestita e viene chiamato unexpected() o se un'eccezione sfugge a un distruttore durante lo srotolamento dello stack e viene chiamato terminate(). Entrambi portano a chiamare abort() e alla sua implementazione abort() che mostra la finestra del messaggio. Questo comportamento è di progettazione in VS2k3, VS2k5 e VS2k8. È davvero fastidioso, specialmente nelle applicazioni destinate a funzionare senza l'intervento umano (come ad esempio le build quotidiane).

È possibile aggirare questo comportamento: utilizzare catch(...) per rilevare tutte le eccezioni al livello superiore e impostare il proprio gestore terminate() utilizzando set_terminate().

0

uso:

_set_abort_behavior(0, _WRITE_ABORT_MSG);