
1、如果WinForm程序中使用了线程,而线程调用的代码中会抛出异常,该异常没有任何Try块处理。就会导致程序从主线程中跳出,导致WinForm程序突然崩溃性关闭。
2、程序读写某些外部资源,比如数据库、串口、并口、网络等。当这些资源发生堵塞或者出现问题,有可能会导致WinForm程序长时间处于等待状态,程序就会类似于死机现象。
3、写程序的时候,程序出现逻辑错误,导致死循环,或者线程死锁。如果该程序是在主线程中,就会导致WinForm程序死机。
问题:新开发的一个winform软件在别人电脑运行时出现以下错误:解决:经查,发现ComponentFactory.Krypton.Toolkit.dll文件没有包含在debug文件中,手动复制进去一个就好了。有些第三方引用并不会自动包含在生成文件夹中,需要手动去添加。
这个错误貌似从dll抛出的,代码中也无法捕捉此错误,导致软件退出。不会无法捕获的.
首先按照您的描述是winform程序嘛>
winform程序中请绑定application级别的未处理异常捕捉事件,只有发生未处理异常才会出现程序崩溃的问题.
已关闭 Safe handle
该问题应当是GC已经回收了句柄.所以报错.如果你实在找不到哪里释放掉的话.
就使用捕获未处理异常来忽略该异常即可
//处理未捕获的异常
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)
//处理UI线程异常
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException)
//处理非UI线程异常
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)