У нас есть эта ошибка, которая появляется только в 30% случаев для сборки выпуска.
Открытие аварийного дампа в WinDbg (перерезанный вывод "! Analysis -v"):
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
Теперь IsStatusOK () просто вызывает PrintSystemJobInfo.Get () , но, похоже, это даже не появляется в стеке.
Есть идеи, как это отладить? Я уверен, что runTryCode () действительно не проблема ... но .. Я застрял.
Спасибо! (Я действительно нащупываю здесь).