我希望有人能启发我有关可能导致此错误的原因:
尝试读取或写入受保护的内存。这通常表明其他内存已损坏。
我无法真正发布代码,因为此错误似乎在应用程序的任何随机区域中引发。该应用程序将在引发错误之前的12-48小时内运行。有时它将停止在看似随机的位置并引发上述错误,而有时整个应用程序都停止了,并且屏幕出现错误,提示“在...中存在致命错误”。 CLR中的错误或...”有关PInvoke的信息或其他不相关的信息。发生这种情况时,所有线程均显示已终止,并且没有可用的调试信息。
简而言之,这就是应用程序的作用:
它是一个完全用C#编写的多线程服务器应用程序。客户端通过套接字连接到服务器。服务器为客户端运行一个虚拟的“环境”,客户端可以在其中彼此交互并与环境交互。它消耗了大量内存,但我看不到它在泄漏。它通常消耗约1.5GB。我不认为其泄漏是因为在整个应用程序运行期间内存使用率保持相对恒定。即使客户端没有执行任何操作,它仍在不断运行的代码可以维护环境。它不使用任何第三方软件或其他API。该应用程序使用的唯一外部资源是套接字连接和SQL数据库连接。它运行在64位服务器上。我已经尝试使用.net 2.0、3.5和4在VS2008和VS2010中对此进行调试。
我尝试关闭编译器优化和几个Microsoft修补程序。似乎没有什么可以解决这个问题。如果有人知道任何可能的原因,或某种方式识别导致问题的原因,将不胜感激。
交互式爱情
largeQ
偶然的你