2009-12-16 12 views
2

이 버그를 수정하는 데 어려움을 겪고 있습니다. 응용 프로그램이 4 개의 다른 컴퓨터에서 테스트되었고 3 개에서 잘 작동하지만 하나의 Vista PC에서 페이지를 열려고하면이 오류가 발생합니다. 여물 WebBrower1Error : C# 보호 된 메모리를 읽거나 쓰려고 시도했습니다.

anyhelp이 고쳐 해결이 나에게 매우 도움이 될 것입니다.

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: 

업데이트 :

난 내 코드는 문제가 아니라고, 난 단지 웹 브라우저와 웹 페이지를 여는 직접 URL을 테스트 새로운 형태를 만드는 tryed 것을 발견했다.

웹 페이지가 시작되면 웹 페이지의 스크립트가 내 webBrowser1을 스크립트가 지시하는 페이지로 리디렉션하려고하는 보조 페이지를 엽니 다.

내가 webBrowser1.AllowNavigation = False로 설정하면 오류가 발생하여 webBrowser1에서 스크립트가 업데이트를 시도 할 때 오류가 발생하는 것으로 보이지 않으므로이 문제를 해결하는 방법에 대한 단서가 있습니까?

+0

질문이 WebBrowser를 통해 발생하는 오류를 설명하지만 System.Windows.Forms의 내부 루프에서 발생하는 예외를 (부분적으로) 보여주는 예외적 인 경우가 있습니다.이 Windows Forms 또는 ASP입니다. NET 응용 프로그램? –

+0

그것은 Windows 양식, webBrowser1 som java 애플릿을 실행하는 사이트를 시작한 다음이 오류가 발생할 때마다 동일한 위치가 발생합니다. – Darkmage

+0

ok 나는 문제가 내 코드에 보이지 않는, 깨끗한 양식을 만드는 데 tryed 버튼이 유일한 사이트를 가리키는 webBrowser, 나는 오류가 다시 나타납니다. 나는 또한 이것을 찾는다. http://stackoverflow.com/questions/178898/c-webbrowser-control-system-accessviolationexception Vista와 여전히 같은 문제가 있고, 뭔가 매우 잘못되었다. – Darkmage

답변

4

Vista 문제 였는데, 내 앱이 ActiveX 앱/스크립트를 실행하는 외부 IE 웹 페이지를 여는 Java 애플릿을 실행하는 웹 페이지를 열었습니다. ActiveX 스크립트가 C# 응용 프로그램의 메모리로 다시 업데이트하려고하면 Vista의 DEP "데이터 실행 방지"가이 작업을 Hostile/virus로 플래그 지정하고 System.AccessViolationException으로 프로그램을 종료합니다. 보호 된 메모리를 읽거나 쓰려고 시도했습니다. 이것은 종종 다른 메모리가 손상되었음을 나타냅니다. "

이에 대한 나의 수정이 라인 Vista에서 DEP의 설정했다"Bcdedit.exe를 설정/{현재} NX의 AlwaysOff로 "

을하고를 재부팅 machine.

관련 문제