【发布时间】:2011-07-25 18:34:01
【问题描述】:
我们在实体框架代码中的测试机器上遇到了访问冲突。我想知道这是否可能是由于线程错误,或者更可能是由于硬件问题。
这是一个部分调用堆栈:
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at System.Data.Common.Internal.Materialization.CoordinatorFactory`1..ctor(Int32 depth, Int32 stateSlot, Expression hasData, Expression setKeys, Expression checkKeys, CoordinatorFactory[] nestedCoordinators, Expression element, Expression elementWithErrorHandling, Expression initializeCollection, RecordStateFactory[] recordStateFactories)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeConstructor(IRuntimeMethodInfo method, Object[] args, SignatureStruct& signature, RuntimeType declaringType)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, Object[] args)
at System.Data.Common.Internal.Materialization.CoordinatorScratchpad.Compile()
这发生在我们在 IIS 7 (Server 2008 R2 SP1) 上的 ASP.NET 应用程序中,使用 Entity Framework 4 访问 SQL Server 2008 R2。我读过access violations with EF and SQL Server CE,但我们使用的是完整的SQL Server。我们没有直接与应用程序中的任何本机代码交互 - 没有 P/Invoke 或 COM 互操作。
这种情况只发生过一次。我个人认为这是机器的问题,而不是应用程序......机器之前已经蓝屏了几次。但我被要求将其作为一个可能的错误进行调查。
如果它再次发生,我会考虑设置 DebugDiag 以捕捉它。有人有其他建议吗?
谢谢,
理查德
【问题讨论】:
标签: .net entity-framework debugging crash