C#Winform程序经常自动关闭。

时间:2023-02-20 23:31:44
我写的串口软件在别人电脑上发现经常自动关闭,而且在关闭前没有任何异常,请问各位,这可能是什么原因引起的?由于程序已加密所以不好贴代码,所以就请个位高手谈谈可能是什么原因引起的程序自动关闭。谢谢!

17 个解决方案

#1


调用内部出了问题,,

#2


应该是出错了,看看日志,或者自己在代码里面加上日志记录

#3


程序问题。。。。

#4


看看是在执行什么操作时出现的

#5


引用 2 楼 thinkingforever 的回复:
应该是出错了,看看日志,或者自己在代码里面加上日志记录

该怎么在代码里加日至报告呢?

#6


可是为什么都没出现任何提示软件就自动关闭了呢?

#7


 这个肯定要加日志了,现在你就不知道都出问题了。
可以使用NLOG。
或参考
http://www.cnblogs.com/tonyepaper/archive/2008/12/18/1357741.html

#8


异常出现,但.net无法扑捉   如你是用C的dll 但里面出了问题

#9


一般这样的情况都是出现在内存溢出的,看你有些东西的定义是不是不合理或者越界了。

#10


曾经碰到过类似情况,我的问题是由于串口数据解析时出错了(可能是接收到的串口数据与预期不一致),程序自动退出。我用的.NET控件serialport串口控件

#11


引用 10 楼 ling3wei 的回复:
曾经碰到过类似情况,我的问题是由于串口数据解析时出错了(可能是接收到的串口数据与预期不一致),程序自动退出。我用的.NET控件serialport串口控件

我也用的是serialport控件,我的数据解析有点复杂,我开了三个线程,不知道有没有影响?

#12


必须写日志.才好跟踪啊.

#13


引用 7 楼 taomanman 的回复:
这个肯定要加日志了,现在你就不知道都出问题了。
可以使用NLOG。
或参考
http://www.cnblogs.com/tonyepaper/archive/2008/12/18/1357741.html

2011-12-01 10:20:12,281 [10] DEBUG MyLogger [(null)] <(null)>
 - Debug
2011-12-01 10:20:12,343 [10] ERROR MyLogger [(null)] <(null)>
 - Error
2011-12-01 10:20:12,343 [10] INFO  MyLogger [(null)] <(null)>
 - Info
2011-12-01 10:20:12,343 [10] WARN  MyLogger [(null)] <(null)>
 - Warn
2011-12-01 10:20:12,343 [10] FATAL MyLogger [(null)] <(null)>
 - Fatal
这是我程序的日志报告,什么意思啊?

#14


你代码加try catch了吗

#15


引用 14 楼 lin0601 的回复:
你代码加try catch了吗

加了,如果不加try catch也不会自动退出啊,也会有相应的提示吧!!!

#16


堆栈溢出,其他的异常大部分都能提示,即使你没有try catch 

#17


引用 16 楼 anakin_skywalker 的回复:
堆栈溢出,其他的异常大部分都能提示,即使你没有try catch

请问如何避免堆栈溢出呢?是什么原因造成的堆栈溢出呢?

#1


调用内部出了问题,,

#2


应该是出错了,看看日志,或者自己在代码里面加上日志记录

#3


程序问题。。。。

#4


看看是在执行什么操作时出现的

#5


引用 2 楼 thinkingforever 的回复:
应该是出错了,看看日志,或者自己在代码里面加上日志记录

该怎么在代码里加日至报告呢?

#6


可是为什么都没出现任何提示软件就自动关闭了呢?

#7


 这个肯定要加日志了,现在你就不知道都出问题了。
可以使用NLOG。
或参考
http://www.cnblogs.com/tonyepaper/archive/2008/12/18/1357741.html

#8


异常出现,但.net无法扑捉   如你是用C的dll 但里面出了问题

#9


一般这样的情况都是出现在内存溢出的,看你有些东西的定义是不是不合理或者越界了。

#10


曾经碰到过类似情况,我的问题是由于串口数据解析时出错了(可能是接收到的串口数据与预期不一致),程序自动退出。我用的.NET控件serialport串口控件

#11


引用 10 楼 ling3wei 的回复:
曾经碰到过类似情况,我的问题是由于串口数据解析时出错了(可能是接收到的串口数据与预期不一致),程序自动退出。我用的.NET控件serialport串口控件

我也用的是serialport控件,我的数据解析有点复杂,我开了三个线程,不知道有没有影响?

#12


必须写日志.才好跟踪啊.

#13


引用 7 楼 taomanman 的回复:
这个肯定要加日志了,现在你就不知道都出问题了。
可以使用NLOG。
或参考
http://www.cnblogs.com/tonyepaper/archive/2008/12/18/1357741.html

2011-12-01 10:20:12,281 [10] DEBUG MyLogger [(null)] <(null)>
 - Debug
2011-12-01 10:20:12,343 [10] ERROR MyLogger [(null)] <(null)>
 - Error
2011-12-01 10:20:12,343 [10] INFO  MyLogger [(null)] <(null)>
 - Info
2011-12-01 10:20:12,343 [10] WARN  MyLogger [(null)] <(null)>
 - Warn
2011-12-01 10:20:12,343 [10] FATAL MyLogger [(null)] <(null)>
 - Fatal
这是我程序的日志报告,什么意思啊?

#14


你代码加try catch了吗

#15


引用 14 楼 lin0601 的回复:
你代码加try catch了吗

加了,如果不加try catch也不会自动退出啊,也会有相应的提示吧!!!

#16


堆栈溢出,其他的异常大部分都能提示,即使你没有try catch 

#17


引用 16 楼 anakin_skywalker 的回复:
堆栈溢出,其他的异常大部分都能提示,即使你没有try catch

请问如何避免堆栈溢出呢?是什么原因造成的堆栈溢出呢?