2 Stimmen

Fehler: C# Versucht, geschützten Speicher zu lesen oder zu schreiben

Ich habe eine harte Zeit, diesen Fehler zu korrigieren, die App ist auf 4 verschiedenen Maschinen getestet und funktioniert gut auf 3 von ihnen, aber ein Vista-PC gibt diesen Fehler beim Versuch, eine Seite durch WebBrower1 zu öffnen

Jede Hilfe zur Lösung dieses Problems wäre sehr hilfreich für mich.

System.AccessViolationException occurred
Message="Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
Source="System.Windows.Forms"
StackTrace:
   ved System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   ved System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
   ved System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   ved System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   ved System.Windows.Forms.Application.Run(Form mainForm)
   ved Dispatcher_Tool.Program.Main() i C:\Users\norah\Downloads\Kopi av Dispacher Tool_utvikling\Dispacher Tool\Program.cs:linje 18
InnerException: 

更新しました。

Ich habe herausgefunden, dass mein Code nicht das Problem ist. Ich habe versucht, ein neues Testformular mit nur einem webBrowser und der direkten URL zum Öffnen der Webseite zu erstellen.

die Webseite startet, dann öffnet das Skript auf der Webseite eine sekundäre Seite, die zu versuchen scheint, meinen webBrowser1 auf die Seite umzuleiten, die das Skript ihm vorgibt.

wenn ich webBrowser1.AllowNavigation = False ich nicht den Absturz erhalten, so dass der Fehler scheint zu passieren, wenn das Skript versucht, in webBrowser1 zu aktualisieren, jemand hat eine Ahnung, wie um dies zu arbeiten?

4voto

Darkmage Punkte 1577

Es war ein Vista-Problem, was passiert, war, dass meine App eine Webseite öffnet, die ein Java-Applet ausführt, das eine externe IE-Webseite öffnet, die eine ActiveX-App/Skript ausführt. Wenn das ActiveX-Skript versucht, zurück in den Speicher des C# app die DEP "Data Execution Prevention" in Vista Fahnen diese Operation als Hostile/Virus und beendet das Programm mit dem System.AccessViolationException: Attempted to read or write protected memory. Dies ist oft ein Hinweis darauf, dass anderer Speicher beschädigt ist."

Meine Lösung für dieses Problem war, DEP in Vista mit dieser Zeile zu deaktivieren "bcdedit.exe /set {aktuell} nx AlwaysOff"

und starten Sie den Rechner neu.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X