La mia applicazione lancia InvalidCastException nell'ambiente QA, qualcosa che non riesco a riprodurre in fase di sviluppo.Come creare il minidump di un processo .NET quando si verifica una certa eccezione di prima opportunità
Desidero ottenere il minidump nel momento eccezionale. Conosco l'adplus, ma non sono sicuro di come usarlo in modo tale da creare il minidump quando viene lanciata InvalidCastException. Apparentemente, non distingue una eccezione .NET da un'altra. Può essere che ho torto e c'è un modo. O c'è un altro strumento per farlo. Preferibilmente uno libero.
In ogni caso, qualcuno può consigliare come gestire questo problema?
Grazie.
UPDATE
- La build è una build di debug sia in QA e dev. Tuttavia, il controllo qualità esegue scenari complessi resi possibili in laboratorio, che gli sviluppatori non possono riprodurre. Quindi ho bisogno di una capacità per fare il dump durante l'esecuzione in QA.
- Posso modificare il codice e creare il minidump dal codice. Tuttavia, desidero una soluzione più flessibile, quella che non richiede di modificare il codice ogni volta che si verifica un problema come questo.
UPDATE 2
In realtà, ho "rubato" la generazione del codice minidump da John Robbins SuperAssert.Net Ancora una volta, questo è il codice per la generazione di minidump dal certo punto concreto, mentre ho bisogno di un più flessibile approccio nello stile dell'aggiunta. L'approccio di John Robbins è creare uno script cdb e quindi richiamare il debugger cdb con quello script per farlo associare al processo e creare il dump. Non utilizza l'API MiniDumpWriteDump.
una domanda veloce - avete la riga di codice in cui il cast sta accadendo?L'ambiente QA è compilato in modalità 'Rilascio' piuttosto che in modalità 'Debug'? – Paddy
L'ambiente di QA è lo stesso di dev per quanto riguarda la build. Ciò che importa è che l'ambiente QA sia distribuito, mentre gli sviluppatori eseguono tutto sulla stessa macchina. – mark