这是在他们刚收到的几台开发人员机器上发生的。我们有一个非常大的解决方案,70多个项目。如果您打开任何形式,即使是新的空白表格,在设计模式下,大多数情况下,VS都会崩溃。使用一些相同项目创建较小的解决方案不会引起问题。并非所有开发人员都在拥有它。我们有VS2008 SP1,Windows XP,并且是VB.NET Winforms。我已经搜索了Google,但是所有VS崩溃似乎都涉及Addins或WPF。它们不是新机器,而是由IT部门对其进行了成像,我想它们都是从同一图像中复制的。

例外:

System.AccessViolationException was unhandled
  Message="Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
  Source="System.Drawing"
  StackTrace:
       at System.Drawing.SafeNativeMethods.Gdip.GdipFillRectangleI(HandleRef graphics, HandleRef brush, Int32 x, Int32 y, Int32 width, Int32 height)

       at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)

       at System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)

       at ystem.Windows.Forms.Design.Behavior.SelectionBorderGlyph.Paint(PaintEventArgs pe)

       at     
System.Windows.Forms.Design.Behavior.BehaviorService.PropagatePaint(PaintEventArgs pe)

       at System.Windows.Forms.Design.Behavior.BehaviorService.AdornerWindow.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.DebuggableCallback(IntPtr hWnd, Int32 msg, 
IntPtr wparam, IntPtr lparam)

仅供参考:如果您想知道如何从Visual Studio获得异常。我打开了2份Vs的副本。我将第一个附加到工具附加过程下的第二个。然后在第二次打开解决方案并将其崩溃。

有帮助吗?

解决方案 2

看起来与视频驱动程序相关,即使机器是不同的视频的不同型号。所有受影响的机器都与设备管理器中禁用的视频驱动程序一起工作。安装最新的视频驱动程序已修复了其中的所有内容。如果您将硬件加速度滑块滑动几乎没有,那么现在未固定的一个即将工作。滑块技巧在之前没有工作,这就是为什么我没有将视频视为问题的原因。我们可能会在该机器上的硬件加速度下生活。

一年前,我们有一些机器不会显示数据集设计师,我们不得不拒绝对这些设计人员的加速,以使它们显示出来。因此,我们的几台机器已经运行了。

其他提示

这看起来像GDI+中的错误。我猜它不能很好地处理资源用完。 Windows为手柄,Windows和GDI资源(例如笔和刷子)提供了一个配额。当它超过其中的10000个时,假设程序中的泄漏是问题,则拒绝再付出。

您可以使用taskmgr.exe,Processes选项卡看到这一点。查看 +选择列,tick句柄,用户对象和GDI对象。一旦其中之一接近配额,各种苦难就开始发生。通常绘画奇怪的话。但是,当代码不检查API调用返回null时,代码可能会崩溃。在不受管理的代码中都太普遍了。

GDI+是 很多 如今,开发人员对Vista进行了改进,这些天不应该再运行XP了。 Win7很好。这也是学习处理UAC和会议0隔离的唯一真正方法。

作为可能的解决方法,请在Superuser.com上询问如何增加默认过程配额。它在注册表中的某个地方。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top