System.AccessViolationException发生在未知模块中

时间:2013-10-19 08:03:23

标签: c# exception access-violation

我有一个程序,在无法解释的时候会抛出这个错误:

  

System.AccessViolationException未处理
  消息:尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

这是Windows Server 2008下的x64二进制文件。 如果程序编译为x86二进制文件,问题就不那么频繁了,但仍然会发生。

该程序是一个服务器端口程序,它从网络接收数据(UDP),然后将其发送给用户(如果有用户连接)。

直到我添加LZMA.c#来压缩数据才有效。

基于记录其功能,LZMA.c#似乎正常工作。

现在,即使我从程序中删除了LZMA.c#,它仍然会在看似随机的时候崩溃。

我在堆栈跟踪中看不到任何有用的东西,它总是如下所示:

  
    

NTDLL.DLL!000000007771fefa()
        [下面的框架可能不正确和/或缺失,没有为ntdll.dll加载符号]         KernelBase.dll!000007fefd7a10ac()
        clr.dll!000007fef47d45bf()
        clr.dll!000007fef47d4577()
        clr.dll!000007fef47d44f8()
        clr.dll!000007fef4b523d2()
        clr.dll!000007fef4b522f0()
        clr.dll!000007fef4dd7b85()
        clr.dll!000007fef4dd78ce()
        clr.dll!000007fef4be74aa()
        clr.dll!000007fef4d1163f()
        clr.dll!000007fef4d14d1c()
        clr.dll!000007fef4d14b77()
        clr.dll!000007fef4d147e4()
        clr.dll!000007fef4d10fc6()
        clr.dll!000007fef4b79841()
        clr.dll!000007fef4b7ca67()
        clr.dll!000007fef4b789bc()
        clr.dll!000007fef4b7babf()
        clr.dll!000007fef4b516d2()
        clr.dll!000007fef4d98fa4()
        msvcr110_clr0400.dll!000007fef5b48ca6()
        ntdll.dll中!000000007770554d()
        ntdll.dll中!00000000776e5d1c()
        ntdll.dll中!000000007771fe48()
        00000000f3468180()
        clr.dll!000007fef481f713()
        clr.dll!000007fef481f242()
        clr.dll!000007fef481f30b()
        clr.dll!000007fef48d27c1()
        clr.dll!000007fef48c6d80()
        clr.dll!000007fef48c6d0e()
        clr.dll!000007fef48c6c85()
        clr.dll!000007fef48c6dbb()
        clr.dll!000007fef48d2728()
        clr.dll!000007fef48c98cf()
        clr.dll!000007fef48c97d3()
        clr.dll!000007fef49566ae()
        KERNEL32.DLL!00000000775cf56d()
        ntdll.dll!0000000077703281()

  

它有什么不对? (当gc收集垃圾时可能会崩溃?)

0 个答案:

没有答案