entativa de ler ou escrever na memória protegi

Comecei a ver uma AccessViolationException sendo lançada no meu aplicativo em vários pontos diferentes. Isso nunca ocorreu no meu PC de desenvolvimento, nosso servidor de teste. Ele também se manifestou em apenas um de nossos dois servidores de produção. Como isso só aconteceu em um de nossos servidores de produção, comecei a examinar as versões da estrutura .net instaladas nos servidore


Descobri que (por algum motivo estranho), o servidor de produção que estava com problemas apresentava 2.0 sp2, 3.0 sp2 e 3.5 sp1, enquanto o outro servidor de produção e o servidor de teste tinham 2.0 sp


aplicativo @My destina-se apenas à estrutura 2.0, decidiu desinstalar todas as versões da estrutura do servidor de produção e instalar apenas 2.0 sp1. Até agora não consegui reproduzir o problema. Muito interessante

Desenvolvimento pc: compact 2.0 sp2, compact 3.5, 2.0 sp2, 3.0 sp2, 3.5 sp1 Servidor de teste: 2.0 sp1 Servidor de produção1: 2.0 sp1 Servidor de produção2: 2.0 sp1 Servidor de produção2: 2.0 sp2, 3.0 sp2, 3.5 sp1

Agora, por que não consigo reproduzir o problema no meu pc de desenvolvimento com 2.0 sp2, não consigo descobrir. Ouvi rumores de que essa violação de acesso pode ocorrer em alguns softwares que utilizam comunicação remota, como a minha, mas a violação de acesso nunca ocorre quando a comunicação realmente ocorre. Estou bem em usar apenas o 2.0 sp1 por enquanto, mas estou realmente interessado em saber se alguém já teve esse problema e se eles encontraram uma solução alternativa para as versões mais recentes do frameowor

Aqui estão algumas exceções e seus rastreamentos de pilha:

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at ICSharpCode.TextEditor.TextArea.HandleKeyPress(Char ch)
   at ICSharpCode.TextEditor.TextArea.SimulateKeyPress(Char ch)
   at ICSharpCode.TextEditor.TextArea.OnKeyPress(KeyPressEventArgs e)
   at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
   at System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
   at System.Windows.Forms.Control.WmKeyChar(Message& m)
   at System.Windows.Forms.Control.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)

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
   at System.Windows.Forms.Control.DefWndProc(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.TextBoxBase.WndProc(Message& m)
   at System.Windows.Forms.RichTextBox.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)

questionAnswers(13)

yourAnswerToTheQuestion