我在C#.net Win表单应用程序中遇到以下异常。



最令人困惑的一点是,当应用程序加载表单(包含一些丰富的图形,WPF工作等)时,这种情况很少发生,可以说成功加载表单的时间约为90%。但是很少会复制它,而且仅在某些机器上才可以复制,在其他一些机器上,这种形式在100%的时间内都有效,并且永远不会遇到这种异常。

我不知道为什么会发生这种异常,因为它也没有显示导致异常的确切堆栈跟踪。请提出是否对如何处理有任何想法。

最佳答案

您的代码可能严重泄漏了GDI资源。查看Taskmgr.exe的“进程”选项卡。查看+选择列,然后选中句柄,USER对象和GDI对象。运行程序,并观察过程的显示值。不断攀升的GDI对象值会带来麻烦,当达到10,000时,显示结束。

确切地说,可能导致泄漏的原因并不是那么容易诊断。尽管您可以在调试器中单步执行代码,但请注意taskmgr编号。典型的错误是在Paint事件处理程序中创建笔和画笔,而不进行处理。没有垃圾收集器经常运行足以清理。使用using语句进行修复。

关于windows - 如何解决winforms错误 "A generic error occurred in GDI+. "?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9362184/

10-13 03:13