gpt4 book ai didi

c# - 尝试读取或写入 protected 内存

转载 作者:IT王子 更新时间:2023-10-29 04:02:36 25 4
gpt4 key购买 nike

我已经开始看到在我的应用程序中的几个不同位置抛出 AccessViolationException。它从未发生在我的开发电脑,我们的测试服务器上。它也只出现在我们 2 台生产服务器中的一台上。因为它似乎只发生在我们的一台生产服务器上,所以我开始查看服务器上安装的 .net 框架版本。


我发现(出于某种奇怪的原因),出现问题的生产服务器有 2.0 sp2、3.0 sp2 和 3.5 sp1,而其他生产服务器和测试服务器有 2.0 sp1。


我的应用只针对2.0框架,决定从生产服务器上卸载所有框架版本,只安装2.0 sp1。到目前为止,我无法重现该问题。很有意思。

开发电脑:紧凑型 2.0 sp2、紧凑型 3.5、2.0 sp2、3.0 sp2、3.5 sp1测试服务器:2.0 sp1生产服务器 1:2.0 sp1生产服务器 2:2.0 sp2、3.0 sp2、3.5 sp1

现在,为什么我无法在装有 2.0 sp2 的开发电脑上重现该问题,我想不通。我听说有传言说这种访问冲突可能发生在某些使用远程处理的软件上,我的就是这样,但是当远程处理实际发生时,访问冲突从未发生过。我现在可以只使用 2.0 sp1,但我真的很想知道是否有人遇到过这个问题,以及他们是否找到了新版本框架的解决方法。

这是一些异常及其堆栈跟踪:

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)

最佳答案

从 .NET 4.5 升级到 .NET 4.5.1 后,我遇到了同样的问题。为我修复的是运行此命令:

netsh winsock 重置

关于c# - 尝试读取或写入 protected 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/596413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com