Ich hoffe, jemand kann mich aufklären, was diesen Fehler möglicherweise verursachen könnte:
Es wurde versucht, geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass der andere Speicher beschädigt ist.
Ich kann die Postleitzahl nicht wirklich posten, da dieser Fehler in einem beliebigen Bereich der Anwendung ausgelöst zu werden scheint. Die Anwendung wird zwischen 12 und 48 Stunden ausgeführt, bevor der Fehler ausgelöst wird. Manchmal stoppt es an einer scheinbar zufälligen Stelle und wirft den obigen Fehler aus, manchmal stoppt die gesamte Anwendung und ich erhalte einen Bildschirm mit einem Fehler, der etwas in der Art von "Es gab einen schwerwiegenden Fehler in ... Dies kann ein Fehler sein Fehler in der CLR oder ... "etwas über PInvoke oder andere nicht relevante Informationen. In diesem Fall werden alle Threads beendet und es sind keine Debugging-Informationen verfügbar.
Kurz gesagt, dies ist, was die Anwendung tut:
Es ist eine Multithread-Serveranwendung, die vollständig in C # geschrieben ist. Clients stellen über Socket eine Verbindung zum Server her. Der Server führt eine virtuelle "Umgebung" für die Clients aus, in der sie miteinander und mit der Umgebung interagieren können. Es verbraucht ziemlich viel Speicher, aber ich sehe es nicht undicht. Es verbraucht normalerweise ungefähr 1,5 GB. Ich glaube nicht, dass es undicht ist, da die Speichernutzung während der gesamten Laufzeit der Anwendung relativ konstant bleibt. Es wird ständig Code ausgeführt, um die Umgebung zu erhalten, auch wenn die Clients nichts tun. Es werden keine Software von Drittanbietern oder andere APIs verwendet. Die einzigen externen Ressourcen, die diese Anwendung verwendet, sind Socket-Verbindungen und SQL-Datenbankverbindungen. Es läuft auf einem 64-Bit-Server. Ich habe versucht, dies in VS2008 und VS2010 mit .net 2.0, 3.5 und 4 zu debuggen.
Ich habe versucht, Compiler-Optimierungen und mehrere Microsoft-Hotfixes zu deaktivieren. Nichts scheint dieses Problem zu lösen. Es wäre dankbar, wenn jemand mögliche Ursachen kennt oder auf irgendeine Weise herausfinden könnte, was das Problem verursacht.