C# WinForm程序崩溃,如何调试,程序崩溃之后,我们能做什么

zhangshuqiang123 2010-10-28 05:59:18
自己写的一个C# WinForm程序,主要功能是从串口读取数据,以及处理,调试的时候,不会出现那种点着点着就自动关闭的问题,生成的安装包在自己电脑上也没有出现过崩溃这种问题,但是,将安装到其他电脑上去时,时不时的会自动退出。搞的我很烦,查看了程序没什么问题,但是这种情况出现,不能说没问题。说硬件问题也说不过去。
于是我想问问大家,有没有什么好的方法,在系统崩溃前后做一些提示,依此来判断问题出现的原因,现在的情况是。点着点着,会自己关掉。郁闷死了喂。在自己这里好好的。
可能问题没说清楚,欢迎大家跟帖讨论。

程序崩溃之后,我们该怎么做,能最快找到问题的原因。
...全文
1213 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
aweiname2008 2011-10-01
  • 打赏
  • 举报
回复
基础一定要学好
不然很多问题
aweiname2008 2011-10-01
  • 打赏
  • 举报
回复
要把基础知识学好
zhangshuqiang123 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 java_1988 的回复:]

额。我的解决办法
做一个软件看门狗,在程序启动的时候,注入一个DLL到远程的线程,然后使用System.Threading.Timer定时检测。和看门狗通信。。。如果异常关闭,又重新启动。。。
[/Quote]

看着好复杂,这像牛虻软件啊
zhangshuqiang123 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ttiimm11 的回复:]

我都是在每一步可能出错或关键部分加上LOG输出。
[/Quote]
[Quote=引用 7 楼 zcty520 的回复:]

在每个执行的方法里都做异常捕获,并写日志
发生你说的原因肯定是程序在特定的环境里产生了异常,捕获下就知道哪里出问题了
[/Quote]

都是那个方法额,其实我现在也是这么做的,不过,发现那个问题,是因为,有几次,程序意外的退出了,什么提示都没有,点着点着就崩溃了,郁闷的呢,领导就问我什么情况,我也不知道呀,在我电脑上基本上没出过这种事情。。。。

所以我想是不是可以记录日志文件,把异常记录下来
zcty520 2010-10-29
  • 打赏
  • 举报
回复
在每个执行的方法里都做异常捕获,并写日志
发生你说的原因肯定是程序在特定的环境里产生了异常,捕获下就知道哪里出问题了
ttiimm11 2010-10-28
  • 打赏
  • 举报
回复
我都是在每一步可能出错或关键部分加上LOG输出。
java_1988 2010-10-28
  • 打赏
  • 举报
回复
额。我的解决办法
做一个软件看门狗,在程序启动的时候,注入一个DLL到远程的线程,然后使用System.Threading.Timer定时检测。和看门狗通信。。。如果异常关闭,又重新启动。。。

zhangshuqiang123 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 air123456789 的回复:]

完了,要被笑了。
[/Quote]
嘿嘿,哪里哪里。多谢啊
wuyq11 2010-10-28
  • 打赏
  • 举报
回复
做异常捕捉
Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
}

void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{

}
air123456789 2010-10-28
  • 打赏
  • 举报
回复
完了,要被笑了。
air123456789 2010-10-28
  • 打赏
  • 举报
回复
try
{
//程序代码。
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
return;
}


然后断点,慢慢找。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧