Abbiamo questo bug che appare solo il 30% del tempo per la versione di rilascio. Apertura del crash dump in WinDbg (snipped uscita "analizzare -v!"):Debug .NET - System.Threading.ExecutionContext.runTryCode
FAULTING_IP:
+4
00000000`00000004 ?? ???
EXCEPTION_RECORD: ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000000000004
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000008
Parameter[1]: 0000000000000004
Attempt to execute non-executable address 0000000000000004
ERROR_CODE: (NTSTATUS) 0xc0000005 -
The instruction at 0x%08lx referenced memory at 0x%08lx.
The memory could not be %s.
WRITE_ADDRESS: 0000000000000004
MANAGED_STACK:
(TransitionMU)
0000000024B9E370 000007FEEDA1DD38
mscorlib_ni!
System.Threading.ExecutionContext.runTryCode(System.Object)+0x178
(TransitionUM)
(TransitionMU)
0000000024B9DFB0 000007FF00439010 MyLibrary!DocInfo.IsStatusOK()+0x30
Ora, IsStatusOK() solo chiamate PrintSystemJobInfo.Get(), ma che non sembrano comparire anche nella pila.
Qualche idea su come eseguire il debug di questo? Sono sicuro che runTryCode() non sia davvero il problema ... ma ... sono bloccato.
Grazie! (Sto davvero brancolando qui).
Dato che nessuno ha ancora risposto dopo un'ora, ti suggerirei di provare a contattare qualcuno su http://blogs.msdn.com/ntdebugging/. Per quello che vale, presumo che un puntatore a una procedura debba essere passato in runTryCode. Per qualche ragione, quel puntatore è stato criptato (sovrascritto?) E contiene 000 ... 4. Forse potresti capire quale procedura avrebbe dovuto essere chiamata e lavorare da lì per trovare chi ha sovrascritto quell'indirizzo specifico. –
Hai sempre questo esatto crash dump? Parte del problema con le violazioni degli accessi al debug è che potrebbero essere effetti collaterali di qualche altro codice che * non * si blocca ma decide di scrivere tutta la memoria di qualunque * fatto * incidente (solitamente evidenziato da arresti intermittenti e inconsistenti pila tracce). – Aaronaught