当前位置: 代码迷 >> C# >> 频繁操作以致程序崩溃:System.AccessViolationException:尝试读取或写入受保护的内存。这通常指示其他内存已损坏
  详细解决方案

频繁操作以致程序崩溃:System.AccessViolationException:尝试读取或写入受保护的内存。这通常指示其他内存已损坏

热度:429   发布时间:2016-05-05 02:50:04.0
频繁操作导致程序崩溃:System.AccessViolationException:尝试读取或写入受保护的内存。这通常指示其他内存已损坏
频繁操作导致程序崩溃,异常如下:
System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
   在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
   在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   在 System.Windows.Forms.Application.Run(Form mainForm)
   在 NPEMain.App.Program.Main(String[] args)
------解决思路----------------------
http://www.cnblogs.com/hfzsjz/archive/2010/01/19/1651406.html
试试,函数需要返回的局部变量声明为static。
------解决思路----------------------
1.访问数据库,要么开长连接,要么每次连接后关闭,不能放着不管
否则即使不崩溃,一段时间后数据库再也连不上了
2.读到数据后,要判断一下数据是否有变化,再绑定,
否则即使不崩溃,界面也会很卡
即使不卡,用户也根本没法操作控件,鼠标刚一点控件就刷新
------解决思路----------------------
引用:
在界面上频繁查询数据库,然后绑定到控件上,几乎是1秒一次,1两分钟后系统奔溃了,但是在我自己的电脑上没有这个问题,但是在另一台电脑上就会出现这个问题。我的电脑操作系统是win7的,另一台是xp。。。

目测跟系统没有关系.
应该是你在自己调试的时候是按你的思维套路去操作的,而用户不会根据你的思维去操作,不一定点了什么就导致逻辑异常
放在那不动,自己也崩溃?
  相关解决方案