日期:2014-05-17  浏览次数:20679 次

wpf 网线拔掉之后,程序跑三个多小时后退出去了
大虾们,我的程序在下载东西,但没下载完后,我把网线拔掉之后,程序跑三个多小时后,退出了,没任何现象,未捕获异常也捕获不到?

请问有什么办法?下载我是用到了socket
------最佳解决方案--------------------
http或tcp协议下,在你网线断线后,应该会由操作系统抛出异常(tcp.sys),这是我遇到的情况;
你的情况不大清楚,在下载情况下(等待接收数据)是否可能会没有异常?这个还要查一下;
如果真是这样,一种办法是你可以在一段时间之后发现没有收到新的数据,检查连接的状态,或主动发起一个连接测试网络
------其他解决方案--------------------
程序只有在严重错误的时候才会自动退出,还有就是多线程的情况下,后台线程的异常是不会传递到主线程的,需要自己在后台线程内部捕获并传出。
------其他解决方案--------------------
http://blog.csdn.net/gaorentaba/article/details/5664483
------其他解决方案--------------------
AppDomain.CurrentDomain.UnhandledException
先记日志,再找问题去解决
------其他解决方案--------------------
或者有什么工具,能够捕获到我们程序退出的消息不?我现在在window的日志事件也找不到程序退出的记录
------其他解决方案--------------------
没人来吗?问题大大啊,一个周了
------其他解决方案--------------------
引用:
AppDomain.CurrentDomain.UnhandledException
先记日志,再找问题去解决


这些捕获不了,能捕获到我就不用提问了
------其他解决方案--------------------
问题解决,原因好不容易找出来,所有机子都什么没记录,还好有一台的window日志事件记录了某个错误码,经查询,确认是内存出问题。

再经三查,终于查出程序问题。

我在用ftp下载的逻辑中,所用方法是递归来做的,原来每递归一次,都要分配一次内存空间,跑多了就出内存问题。

后面我把递归改为循环来实现,就彻底解决此问题了。

唉,还是知识不够啊,这些都不懂。找了好久。感谢大家的关注。