我的程序会突然退出,没有任何提示,不知道为什么

cellblue 2004-03-31 05:31:32
程序在操作过程中,有时候会突然退出,没有任何错误提示,而且本来这些流程已经正确运行过数次。程序中的控件只有textbox,combox,datagrid,外加一些线程等等。

在调试的时候,原先经常会在Application.Run(new frmMain());这个语句提示错误

为了攫取错误信息,我特地把程序改为如下的写法,但是也是有部分程序的错误没有攫取到。也就是没有任何错误提示

[STAThread]
static void Main()
{
try
{
Application.Run(new frmMain());
}
catch(Exception ex)
{
MessageBox.Show("程序遇到问题,需要关闭!\n\r" + ex.Message,"系统运行时错误);
}

}
...全文
131 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
cellblue 2004-04-14
  • 打赏
  • 举报
回复
去掉了一个DotNetBar控件,还没有发生类似事情

谢谢
cnming 2004-04-13
  • 打赏
  • 举报
回复
是否有用一些特殊的控件,如果是由于控件导致的,那个控件应该就在你的主控窗体上

特别是一些破解版的控件,因为所有的破解都有可能存在缺陷
cellblue 2004-04-13
  • 打赏
  • 举报
回复
程序确实运行在XP下,但是没有用到这条语句
北京的雾霾天 2004-04-12
  • 打赏
  • 举报
回复
你是不是用了System.Windows.Forms.Application.EnableVisualStyles();这个方法,而且是在WinXP下?是的话去掉这一句试试.
cellblue 2004-04-12
  • 打赏
  • 举报
回复
垃圾问题有一定可能性

无法单步跟踪的,因为不确定在什么地方出错,而且出错的时候是马上退出
marvelstack 2004-04-11
  • 打赏
  • 举报
回复
单步跟踪一下
cnming 2004-04-11
  • 打赏
  • 举报
回复
会不会是垃圾清除导致的一个bug?
cellblue 2004-04-05
  • 打赏
  • 举报
回复
up
cellblue 2004-04-02
  • 打赏
  • 举报
回复
up

haohaohaohao() 的方法或许可以采纳
cellblue 2004-04-02
  • 打赏
  • 举报
回复
不对,因为本来我就知道在什么时候发生的错误。只是找不到任何的信息
lehehe 2004-04-01
  • 打赏
  • 举报
回复
这个问题实在有些蹊跷,我建议采用分拆测试方法,那些独立性强的form比较容易测试,主要是那些耦合性强的form之间的关系要注意,另外就是设置一些断点进行跟踪!我想总会有线索的,你能够遇上这样的问题,实在是幸运啊,这么久了,我没有遇到过,呵呵!
zhpsam109 2004-04-01
  • 打赏
  • 举报
回复
up!
cellblue 2004-04-01
  • 打赏
  • 举报
回复
>外加一些线程等等

线程只是次要的,并不多,而且是很少
turnmissile 2004-04-01
  • 打赏
  • 举报
回复
问题正是出现在这里,你所使用的十多线程的程序,线程不可能其他线程抛出的异常。
你如果想简单的就把所有异常都捕捉到似乎有些不可能,还是在你的程序中,多放入Trace.Assert(),还有try catch这样的调试语句有用。
cellblue 2004-04-01
  • 打赏
  • 举报
回复
up
cellblue 2004-03-31
  • 打赏
  • 举报
回复
楼上的哥们都没有理解其中的意思

我做的事多文档的程序,frmMain只是一个加载了许多菜单和工具栏的form,也是主程序,所以才会有Main函数

其它的有将近200个Form,引起错误的都是除了frmMain的Form,而并非在frmMain

在所有的程序中,任何一个函数都有try catch
bineon 2004-03-31
  • 打赏
  • 举报
回复
建议你在所有使用线程的地方捕获异常。
shiningpolarstar 2004-03-31
  • 打赏
  • 举报
回复
这个问题的随机性很大,可以做单步执行,看出错的位置,判断出错的原因
czy412 2004-03-31
  • 打赏
  • 举报
回复
new frmMain()的时候其实是调用你的
InitializeComponent()
这里面有些关于资源文件和控件的初始化工作的,这个时候我想你的线程还没有启动把!
HNU 2004-03-31
  • 打赏
  • 举报
回复


Application.Run(new frmMain()); 能提示什么错误?



同时检查你的其它线程,感觉。。。
加载更多回复(1)

110,567

社区成员

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

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

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