为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

疑难杂症Winfrom最小化程序赴任务栏后等一会儿就无法恢复了

2017-11-21 7页 doc 20KB 59阅读

用户头像

is_591137

暂无简介

举报
疑难杂症Winfrom最小化程序赴任务栏后等一会儿就无法恢复了疑难杂症Winfrom最小化程序赴任务栏后等一会儿就无法恢复了 疑难杂症:Winfrom最小化程序到任务栏后,等一会儿就无法恢复了, 程序运行后,点击窗口最小化或者切换到其他的应用程序界面去,过一段时间(几分钟到几十分钟不等)不操作它,再切换回 去,就无法恢复显示窗口。只能通过任务管理器去结束进程才可以关闭程序,这到底是怎么一回事呢,内存占用率也不 高。。。 跪求高人指点迷津,或者说说造成这种情况的可能性, 补充说明,普通的Winfrom程序。里面用了evpress.XtraGrid控件系列,多线程等技术,但最小化...
疑难杂症Winfrom最小化程序赴任务栏后等一会儿就无法恢复了
疑难杂症Winfrom最小化程序赴任务栏后等一会儿就无法恢复了 疑难杂症:Winfrom最小化程序到任务栏后,等一会儿就无法恢复了, 程序运行后,点击窗口最小化或者切换到其他的应用程序界面去,过一段时间(几分钟到几十分钟不等)不操作它,再切换回 去,就无法恢复显示窗口。只能通过任务管理器去结束进程才可以关闭程序,这到底是怎么一回事呢,内存占用率也不 高。。。 跪求高人指点迷津,或者说说造成这种情况的可能性, 补充说明,普通的Winfrom程序。里面用了evpress.XtraGrid控件系列,多线程等技术,但最小化或切换到后台运行时,系统 根本没有做任何额外操作。 ------解决方案-------------------------------------------------------- 猜不出,建议你分别排查。 猜测起来应该就几种愿意:控件bug、重绘受阻、程序死锁。从故障出现时间不固定来看, 也许程序死锁的可能性要大一点。 ------解决方案-------------------------------------------------------- 应该还是代码设计引起的,只能一步步查了,记录日志,或者把代码都屏蔽,一条条放开, 看看哪里出问题 ------解决方案-------------------------------------------------------- 重点排查与任务栏相关的几小段事件程序 ------解决方案-------------------------------------------------------- 现在的问题就在于:你不操作它相当时间之后才会发生,那么,当你不操作它一段时间之后, 发生了什么, ------解决方案-------------------------------------------------------- 把你的应用程序放到别的电脑或是系统中去运行还是这样的情况?? ------解决方案-------------------------------------------------------- 学习一下,解决错误 的方法 ------解决方案-------------------------------------------------------- 排除法咯。。没。。。先保留界面方面的代码,注释掉其他方法;再逐步恢复方法看看是哪 里的方法导致这个问题 ------解决方案-------------------------------------------------------- 线程问题 ------解决方案-------------------------------------------------------- 放个断点看看在哪里出错了,另外不要Try起来,不然看不到错误也是没办法解决的。 ------解决方案-------------------------------------------------------- 呵呵,你应该是使用后台线程死循环,监听端口什么的,我原来也碰到这个问题,郁闷的不 行。 我的是运行10分钟后,关闭程序就弹。 后来发现症结了,是因为调用的后台线程还在跑,前台程序关闭,卸载后台线程的时候,线 程还在Thread.Sleep 就是相差1毫秒,都弹错,后台线程又不能单步,头疼啊。 后来我修改了监控类,继承了IDisposable并重写的Dispose()方法,加了一句 threadRun.DisableComObjectEagerCleanup();,就一直相安无事了(threadRun是我的后台 线程) ------解决方案-------------------------------------------------------- 据。很怀疑是线程之间的问题。引起的。重点排查 ------解决方案-------------------------------------------------------- 不是多线程吗,怎么才一个BackGroundWork, ------解决方案-------------------------------------------------------- 不用纠结死循环,这个应该是线程结束时没有及时的释放。 ------解决方案-------------------------------------------------------- 做个简单的例子,你做个线程,直接放后台Thread.Sleep(1000000);然后直接关主窗体,看看是不是报相同的错误,当然你的后台线程在子窗体申明的话,关子窗体就有效果了。 疑难杂症:Winfrom最小化程序到任务栏后,等一会儿就无法恢复了, 程序运行后,点击窗口最小化或者切换到其他的应用程序界面去,过一段时间(几分钟到几十分钟不等)不操作它,再切换回 去,就无法恢复显示窗口。只能通过任务管理器去结束进程才可以关闭程序,这到底是怎么一回事呢,内存占用率也不 高。。。 跪求高人指点迷津,或者说说造成这种情况的可能性, 补充说明,普通的Winfrom程序。里面用了evpress.XtraGrid控件系列,多线程等技术,但 最小化或切换到后台运行时,系统 根本没有做任何额外操作。 ------解决方案-------------------------------------------------------- 猜不出,建议你分别排查。 猜测起来应该就几种愿意:控件bug、重绘受阻、程序死锁。从故障出现时间不固定来看, 也许程序死锁的可能性要大一点。 ------解决方案-------------------------------------------------------- 应该还是代码设计引起的,只能一步步查了,记录日志,或者把代码都屏蔽,一条条放开, 看看哪里出问题 ------解决方案-------------------------------------------------------- 重点排查与任务栏相关的几小段事件程序 ------解决方案-------------------------------------------------------- 现在的问题就在于:你不操作它相当时间之后才会发生,那么,当你不操作它一段时间之后, 发生了什么, ------解决方案-------------------------------------------------------- 把你的应用程序放到别的电脑或是系统中去运行还是这样的情况?? ------解决方案-------------------------------------------------------- 学习一下,解决错误 的方法 ------解决方案-------------------------------------------------------- 排除法咯。。没办法。。。先保留界面方面的代码,注释掉其他方法;再逐步恢复方法看看是哪 里的方法导致这个问题 ------解决方案-------------------------------------------------------- 线程问题 ------解决方案-------------------------------------------------------- 放个断点看看在哪里出错了,另外不要Try起来,不然看不到错误也是没办法解决的。 ------解决方案-------------------------------------------------------- 呵呵,你应该是使用后台线程死循环,监听端口什么的,我原来也碰到这个问题,郁闷的不 行。 我的是运行10分钟后,关闭程序就弹。 后来发现症结了,是因为调用的后台线程还在跑,前台程序关闭,卸载后台线程的时候,线 程还在Thread.Sleep 就是相差1毫秒,都弹错,后台线程又不能单步,头疼啊。 后来我修改了监控类,继承了IDisposable并重写的Dispose()方法,加了一句 threadRun.DisableComObjectEagerCleanup();,就一直相安无事了(threadRun是我的后台 线程) ------解决方案-------------------------------------------------------- 据经验。很怀疑是线程之间的问题。引起的。重点排查 ------解决方案-------------------------------------------------------- 不是多线程吗,怎么才一个BackGroundWork, ------解决方案-------------------------------------------------------- 不用纠结死循环,这个应该是线程结束时没有及时的释放。 ------解决方案-------------------------------------------------------- 做个简单的例子,你做个线程,直接放后台Thread.Sleep(1000000);然后直接关主窗体, 看看是不是报相同的错误,当然你的后台线程在子窗体申明的话,关子窗体就有效果了。
/
本文档为【疑难杂症Winfrom最小化程序赴任务栏后等一会儿就无法恢复了】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索