우리의 응용 프로그램은 이상한 치명적인 System.AccessViolationException을 경험합니다. 예외를 로그하기 위해 AppDomain.CurrentDomain.UnhandledException 이벤트를 구성 했으므로이를 볼 수 있습니다.System.AccessViolationException의 원인을 찾으십시오.
Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Bootstrap.Run() in e:\build-dir\src\Bootstrap.cs:line 25
자체가 메시지 보다 자세한 정보를 포함하지 않는 것 예외는 "보호 된 메모리를 읽거나 쓰려고했습니다. 이것은 다른 메모리가 손상되었음을 나타냅니다 종종 있습니다."
- 이제 문제의 원인을 찾기 위해 어떤 단계를 밟을 수 있습니까?
- 충돌을 일으킨 잘못된 주소 또는 포인터 값을 확인하는 방법이 있습니까?
- 문제의 원인이 된 네이티브 라이브러리 코드를 찾을 수 있습니까?
- 더 많은 디버깅/추적 기능을 사용할 수 있습니까?
- 이이 윈폼의 API의 이전이 아닌 스레드 사용으로 인해 발생 될 수 있습니다 UPDATE?
충분한 기호를 제공하는로드 또한, 당신이 첨부 된 디버거이 실행 시도 되세요 (짧은 DB-INT32 또는 NVARCHAR 긴 (10)에 대한 긴 전달) 유용한 콜 스택? –