首页 新闻 会员 周边 捐助

winForm 程序关闭与重启的问题

1
悬赏园豆:20 [已解决问题] 解决于 2012-05-14 19:43

我自己写一个winform程序,有关网络的。里边用到了多线程,其中一个线程用来与服务器相互通信,还有另外一个线程是用来处理从服务器下载下来的数据,还有其他的一些线程,线程都设为后台线程了。由于需要,关闭软件是需要提示关闭 与注销,如果注销的话就返回到登录界面。

我的注销是用的Application.Restar(),但是有时候关闭程序时会弹出短话框如下图所示:

是不是我的线程有没有关闭的!园子里有各位大侠帮小弟看看大概什么原因:

可以加qq:381139762

小弟感激不尽。。

小弟只有20分不好意思!

bos_kg的主页 bos_kg | 初学一级 | 园豆:7
提问于:2012-05-10 17:31
< >
分享
最佳答案
0

产生死锁了,导致这样的情况

收获园豆:15
az235 | 大侠五级 |园豆:8483 | 2012-05-10 17:33

可能会有死锁,我的里面好几个线程使用while(true) 做的,但是我应该怎么查找是是那一块出现问题呢!

bos_kg | 园豆:7 (初学一级) | 2012-05-10 18:20

@bos_kg: 查看windows日志,里面应该有详细信息

az235 | 园豆:8483 (大侠五级) | 2012-05-11 08:29

@az235: 不好意思,查看windows日志具体的要怎么查看呢!谢谢了!

bos_kg | 园豆:7 (初学一级) | 2012-05-11 08:51

@bos_kg: 开始--》管理工具--》事件查看器--》windows日志--》应用程序

az235 | 园豆:8483 (大侠五级) | 2012-05-11 08:54

@az235:是看到了有我自己的程序的错误日志,但是日志还是看不懂啊,

错误应用程序名称: Client.exe,版本: 1.0.0.0,时间戳: 0x4fac7013
错误模块名称: mswstr10.dll,版本: 4.0.9756.0,时间戳: 0x49246e49
异常代码: 0xc0000005
错误偏移量: 0x00001156
错误进程 ID: 0x15d4
错误应用程序启动时间: 0x01cd2f1853d156d8
错误应用程序路径: D:\Client\Client\bin\Debug\Client.exe
错误模块路径: C:\windows\system32\mswstr10.dll

这些东西我要怎么看呢!

bos_kg | 园豆:7 (初学一级) | 2012-05-11 10:38

@bos_kg: 找到那个dll,查找其中的错误,或者在日志里面看看详细信息

az235 | 园豆:8483 (大侠五级) | 2012-05-11 10:42

@az235: 不好意思,还是想在问一下你!我在日志里边只能看到这些信息,详细信息也是这些信息,找到dll后好像是个系统的dll也没办法查看,请问还有其他办法查找错误吗!

bos_kg | 园豆:7 (初学一级) | 2012-05-11 12:40

@bos_kg: 那你调用这个dll的参数可能传错了,检查下

az235 | 园豆:8483 (大侠五级) | 2012-05-11 17:34

@az235: 谢了,我的程序中没有用到那个dll文件,应该是我线程的问题。正在解决中,还是感谢你的回答!

bos_kg | 园豆:7 (初学一级) | 2012-05-14 19:41
其他回答(1)
1

如果是網絡 操作,會由問題的

http://stackoverflow.com/questions/95098/why-is-application-restart-not-reliable

收获园豆:5
無限遐想 | 园豆:3740 (老鸟四级) | 2012-05-10 17:50

这个例子我之前看了一点但是:用互斥我也试过,不起什么作用,Properties.Settings.Default.IsRestarting=false; 
怎么就没有发现Setting.Default.IsRestarting 这个属性啊。。

支持(0) 反对(0) bos_kg | 园豆:7 (初学一级) | 2012-05-10 18:23

@bos_kg: 應該是線程沒有關閉。要不你不要用這個方法Application.Restar()。

直接關閉窗口,然後再顯示登錄窗口。

支持(0) 反对(0) 無限遐想 | 园豆:3740 (老鸟四级) | 2012-05-11 09:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册