Sto sperimentando un APPCRASH dall'applicazione C#. Il runtime fornisce un messaggio di errore di "Questa applicazione ha richiesto al runtime di interromperlo in un modo insolito". Quindi, quando faccio clic su OK, ricevo un messaggio "La mia applicazione ha smesso di funzionare" con le solite opzioni "Verifica online per una soluzione", "Chiudi programma" e "Programma di debug". Quando faccio clic su "ulteriori dettagli" ottengo la firma APPCRASH, con molte informazioni aggiuntive. Alcuni di essi sono leggibili dall'uomo, alcuni sono solo numeri esadecimali. Il "Codice di eccezione" è 40000015. Esistono anche righe di "Informazioni aggiuntive". La mia domanda è: qualcuno nell'universo sa cosa significa l'informazione in un messaggio APPCRASH?Che cosa significano i dettagli di un messaggio APPCRASH?
Sembra che il messaggio fosse inteso per essere letto da qualcuno che può divinarne una causa. Durante la ricerca di risposte ho trovato un sacco di persone che pubblicano messaggi formattati esattamente allo stesso modo. Sfortunatamente, non ho trovato spiegazioni su cosa significhi questa informazione.
Inoltre, ho provato l'opzione "Programma di debug", ma non è utile. Mi mette semplicemente in DLL di sistema con nessuno del mio codice ovunque sullo stack delle chiamate. Ho studiato e l'errore non si verifica in questo codice di sistema.
Il messaggio APPCRASH ha chiamato un'altra DLL come "Modulo di errore" (questo codice utilizza molte DLL esterne) e l'errore irreversibile probabilmente si verifica lì. Ma questa informazione non è molto utile perché ho bisogno di trovare il posto nel mio codice che fa una brutta chiamata alla dll esterna (o la mette in cattivo stato). Purtroppo, quando dico "il mio codice" intendo solo il codice con cui sto lavorando. È un enorme numero di codice scritto da diverse decine di persone nell'arco di un paio d'anni, quindi non posso solo indovinare i luoghi che potrebbero rendere la chiamata fatale. Ecco perché speravo di ottenere ulteriori informazioni dal messaggio APPCRASH. Questo è anche il motivo per cui sono molto avaro di dettagli. Il tutto è molto riservato con molta burocrazia. Questo è anche il motivo per cui non ho pubblicato il contenuto del messaggio APPCRASH.
Per essere chiari, non ti sto chiedendo di eseguire il debug del mio problema per me. Non ho modo di darti un caso riproducibile dell'errore, e non sto chiedendo a nessuno di dirmi la causa dell'errore nel mio caso specifico. Voglio solo sapere come interpretare quei numeri esadecimali e non sono stato in grado di trovare alcuna documentazione.
Si tratta del codice di eccezione utilizzato quando il codice C o C++ nativo chiama la funzione abort(). Non possiamo aiutarti a trovarlo, ma chiaramente si trova nelle "DLL di sistema" in cui ti sei perso. –
L'eccezione non si verifica nel codice di sistema che il debugger mi ha inserito; ma è probabile che si verifichi un'eccezione in una dll esterna diversa. Se questo è da una chiamata abort(), allora sta morendo da qualche parte nella terra non gestita. – user1646801
Sembra che tu abbia problemi con il codice non gestito. Per isolare il problema, proverei a cercare [DllImport] nel codice e provare a simulare, commentare questo e vedere se hai meno problemi. Un'altra idea è se si dispone di componenti di terze parti che possono avere chiamate non gestite errate. Infine, prova a WinDBG e cerca il problema. WinDBG sarà la mia ultima risorsa, dal momento che non sono uno specialista e si tratta di un vero e proprio metodo di debug. –