1、亏唯窗口最小化时,程序可能会执行一些耗时的 *** 作,解决方法是将这些 *** 作放在后台线程中执行,避免阻塞主线程。
2、窗口最小化时,程序可能会停止渲染界面,但是仍然会执行一些计算任务,解决方法是将计算任务放在后台线程中执行,避免阻塞主线程。
3、窗口最小化时,程序可能会暂停一些定时器或者动画效果,但是这些定仔锋时器或者动画效果可能会在窗口恢复正常大小时重新启动,解决方法是在窗口最小化时停止定时器或者动画效念空晌果,并在窗口恢复正常大小时重新启动。
判断是否可以连接的数据库连接字符串设置timeout时间,设成个5秒或10秒。什么原因导致winform程序崩溃?
1、如果WinForm程序中使用了线程,而线程调用的代码中会抛出异常,该异常没有任何Try块处理。就会导致程序从主线程中跳出,导致WinForm程序突然崩溃性关闭。
2、还有就是程序读写某些外部资源,比如数据库、串口、并口散如、网络等。当这些资源发生堵塞或州掘陪者出现问题,有可能会导致WinForm程序长时间处于等待状态,程序就会类似于死机现象。
3、写程序的时候,程序出现逻辑错误,导致死循环,或者线程死锁。如果该程序是在主线程中,就会导致WinForm程序死机。
当然这些是较为常见的崩溃性问题,如果时间册蠢充足其实可以写出很多。在这里就不一一列出了。
软件长期运行后,再点击软敬物件无响应,此时CPU占用率较高,只能通过任务管亮粗液理器强行关闭。1.首先保证C#工程版本编译后不要动,将生成的EXE拿去测试,复现问题。
2.复现问题后,通过任务管理器右键存DUMP文凳吵件。
3.将DUMP文件放回到原来保存的工程中DEBUG/Release目录下生成的EXE文件原有目录下(为了保证PDB文件和exe和dump同一目录)。
4.使用VS打开DUMP文件。
5.打开后直接点击右侧DEBUG后,关闭调试。
6.在solution上右键,属性,添加调试源程序路径,就是将源程序对应解决方案(.sln)的路径添加到这里。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)