2012-04-16 2 views
0

최근에 Visual Studio 2010 내에서 WinForms 응용 프로그램의 대부분 시작시에 이제 AccessViolationException을 가져 와서 중단합니다.Visual Studio 내에서 App을 실행할 때 AccessViolationException (또는 SEHException 또는 ExecutionEngineException)

하지만 그 대신 평소 F5Ctrl 키 F5을하고 나를 위해 문제를 해결, 즉 그것은 AccessViolationException outside Visual Studio?의 반대의 종류입니다.

는 다음과 같은 예외의 예,하지만 그들은 다양한 스택 트레이스와 함께, 너무, 단지이 하나를 Btw는

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 
    at System.Environment.get_TickCount() 
    at System.EventHandler.Invoke(Object sender, EventArgs e) 
    at System.Windows.Forms.Form.OnLoad(EventArgs e) 
    at System.Windows.Forms.Form.OnCreateControl() 
    at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) 
    at System.Windows.Forms.Control.CreateControl() 
    at System.Windows.Forms.Control.WmShowWindow(Message& m) 
    at System.Windows.Forms.Control.WndProc(Message& m) 
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m) 
    at System.Windows.Forms.ContainerControl.WndProc(Message& m) 
    at System.Windows.Forms.Form.WmShowWindow(Message& m) 
    at System.Windows.Forms.Form.WndProc(Message& m) 
    at OurApp.BaseForm.WndProc(Message& m) 
    at OurApp.OtherForm.WndProc(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 

. 시작은 다시 난 그냥이 동일한 스택 추적을했지만, 대신 AccessViolationException의

System.Runtime.InteropServices.SEHException: External component has thrown an exception. 

와. 그러나 전반적으로 AccessViolationExceptions은 SEHException보다 빈번합니다.

업데이트 한편, 때로는 위 대신에 ExecutionEngineException s가 표시됩니다.

저는 VirtualBox에서 Windows 7 64 비트를 실행하고 있습니다. 경우에 따라 Visual Studio 2010 SP1을 비롯한 모든 Windows Update를 설치해도 문제가 해결되지 않았습니다.

이것이 무엇인지 또는 더 깊게 파고 드는 방법에 대한 아이디어가 있습니까?

+3

Brr, 꽤 엉망입니다. 네이티브 Windows GetTickCount() API 함수를 호출하는 것입니다.가상 박스를 잃고 무슨 일이 일어나는 지보십시오. –

+0

@HansPassant +1 좋습니다. 가상 머신이이 문제에 개입 된 것으로 보입니다. 지금까지의 대답을 요약하여 요약했습니다. –

답변

1

VirtualBox에서 문제가있는 것으로 나타났습니다. 앱을 기본적으로 실행해도 문제가 없으며 VMWare Player에서 앱을 실행해도 좋습니다. VirtualBox : 질문에 나열된 3 가지 예외 중 하나.

http://altamodatech.com/blogs/?p=62에서 제안 된대로 다양한 설정을 시도하여 VirtualBox (최신 버전, 4.1.12, 64 비트 Linux에서 i5 호스트에서 실행 중)를 제대로 작동시키지 못했습니다. 그래서 VMWare Player입니다.

0

내 문제는 또한 VirtualBox 문제를 일으켰습니다. http://altamodatech.com/blogs/?p=62 참조 유진 Beresovksy의 뚜렷한 답변을 당 커플 일 : 일 이후

  1. I 장애인 중첩 된 페이징
  2. 비주얼 스튜디오 2010의 업데이트가 종료 (서비스 팩 등)

나는 문제가 없었어요 두 가지 모두 지금 VirtualBox를 고수하고 있습니다.

참고로

, 내 구성 :

  • 자료 OS : 윈도우 7 64
  • 가상화 호스트 : 버추얼 박스 4.2.6 r82870
  • 게스트 OS : 윈도우 7 얼티밋 86
  • 비주얼 스튜디오 2010 10.0 .30319.1 RTMRel

희망이 있습니다.

+0

은 VirtualBox 버그 인 것 같습니다. 위의 내용은 나에게 적합하지 않지만 VB가 수정 될 때까지 VirtualBox의 테스트 빌드를 사용할 수 있습니다. https://www.virtualbox.org/ticket/9659#comment:32 – smertrios

관련 문제