我正在寻找.NET下访问冲突错误的常见原因。
我已经查过的东西-
还有其他建议吗?
编辑-将崩溃转储分析移至不同的问题。
发布于 2009-02-08 15:48:56
任何不安全或非托管代码的使用都会导致这种类型的异常。
在非托管或不安全代码中,当代码试图读取或写入未分配或没有访问权限的内存时,就会发生访问冲突。这通常是因为指针的值很差。并非所有通过错误指针进行的读或写都会导致访问冲突,因此访问冲突通常表示通过错误的指针发生了几次读或写,并且内存可能已损坏。因此,访问冲突几乎总是表明严重的编程错误。在.NET框架2.0版本中,AccessViolationException清楚地识别了这些严重错误。 在完全由可验证的托管代码组成的程序中,所有引用都是有效或空的,并且访问冲突是不可能的。只有当可验证的托管代码与非托管代码或与不安全的托管代码交互时,AccessViolationException才会发生。
推荐:
发布于 2009-02-08 15:30:17
您是在运行时生成IL,还是使用这样做的组件?使用不安全的C#代码,做指针操作?
https://stackoverflow.com/questions/526649
复制相似问题