Programmiert zufällig System.AccessViolationException

8

Okay, ich habe viele Probleme mit dem Debuggen. Ich benutze VS2013 Pro und Windows 8.1. Beide sind auf dem neuesten Stand. Das Problem ist, wenn ich das Debuggen beginne, die Hälfte der Zeit, die es diesen Fehler wirft:

  

Eine nicht behandelte Ausnahme vom Typ 'System.AccessViolationException'   in System.Windows.Forms.dll

aufgetreten      

Zusätzliche Information: Es wurde versucht, geschützten Speicher zu lesen oder zu schreiben.   Dies ist oft ein Hinweis darauf, dass anderer Speicher beschädigt ist.

Es ist auch nicht mein Code schuld. Ich habe als Beispiel unten einen einfachen Test gemacht. Beachten Sie, dass ich System.Windows.Forms von dieser App nicht referenziere.

%Vor%

Ich habe keine Ahnung, was das verursacht. Es wird funktionieren, wenn ich OK klicke und die meiste Zeit neu starte. Gelegentlich muss ich es zweimal machen.

Irgendwelche Ideen?

Stapelverfolgung:

    
FrostyFire 18.06.2014, 20:32
quelle

6 Antworten

7

Das Ändern des Platform Target auf x86 funktioniert für mich. Es kam zu einem Punkt, an dem das Durchlaufen des Codes ohne die vorgenannte Exception nicht möglich war. Ich starte Win 8.1 64-Bit und Visual Studio 2013.

    
Null 26.06.2015, 13:06
quelle
5

Ich habe auch dieses Problem auf Windows10 mit Visual Studio Express2015 kennengelernt. Das Erstellen auf x86 hat mein Problem nicht behoben, aber die folgende Problemumgehung hat den Trick bewirkt:

Dieses Problem wird durch den Code verursacht, der Rückgabewerte erfasst. Es ist möglich, das Problem zu umgehen, indem Sie Verwaltete Rückgabewerte deaktivieren.

  1. Gehen Sie zu den Systemeigenschaften (Win8: WinKey + X, wählen Sie 'System', Win7: Öffnen Sie 'Eigenschaften' von meinem Computer)
  2. Erweiterte Systemeinstellungen
  3. Umgebungsvariablen ...
  4. Klicken Sie auf "Neu" und fügen Sie hinzu
    • Name: VSDebug_DisableManagedReturnValue
    • Wert: 1

Quelle: Ссылка

    
craig 05.08.2016 16:07
quelle
3

Ссылка

Scheint, dass VS / .net Framework in einigen Fällen Probleme mit dem Speichertrampling hat. Ich wünschte wirklich, die Leute würden aufhören zu sagen, es kann nicht sein, wenn jemand sagt, dass etwas kaputt ist.

    
fred 05.01.2015 16:07
quelle
1

Es gibt scheinbar nichts, was Probleme verursachen könnte.

Haben Sie versucht, die Ausnahmebedingungen zu aktivieren? Dadurch wird der Code angehalten, wenn eine Ausnahme auftritt.

    
Gerhard Powell 18.06.2014 20:49
quelle
1

Ich kann dieses Problem bestätigen. Es kommt in einem kleinen (sehr trivialen) WinForms-Programm vor, das mit meiner eigenen kommerziellen App vertrieben wird. Es ist nie in früheren Versionen von VS, die auf VS2005 zurückgehen, geschehen, einschließlich solcher, die auf demselben Computer ausgeführt werden. Es tritt nur in VS2013 auf. Meine Version von VS hat keine Drittanbieter-Add-Ins außer was mit VS selbst installiert ist. Problem tritt auch auf, wenn der gesamte Code in "Main ()" auskommentiert ist. Ich habe versucht, neu zu starten, Virus-Checker, Firewall usw. zu deaktivieren. Es macht keinen Unterschied, welche Version von .NET meine App entweder (2.0, 3.5, 4.0, was auch immer). Es passiert häufig aber zufällig. Manchmal funktioniert es, manchmal nicht. Geh Figur.

    
Larry 13.01.2015 18:43
quelle
1

In meinem Fall wurde ein solches VS-Verhalten von Comodo Firewall verursacht.

Die Lösung fügt den Ordner "VS Projects" zur Ausschlussliste von Comodo HIPS hinzu (auch wenn HIPS deaktiviert ist!).

Hier ist ein verwandter Thread Comodo-Forum: Ссылка

    
Dmitriy Bykov 08.09.2016 03:02
quelle

Tags und Links