我们有这个错误,在发布版本中只出现 30% 的时间。
在 WinDbg 中打开故障转储(剪切“!analyze -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() 真的不是问题......但是......我被卡住了。
谢谢! (我真的在这里摸索)。
最佳答案
暗中刺伤 - 但鉴于它可能与打印有关,它可能是由不可靠的打印机驱动程序引起的吗?
问题是出现在不同的机器上还是只出现在特定的机器上?
关于.NET 调试 - System.Threading.ExecutionContext.runTryCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2470174/