首页 / 知识
关于c#:Exception超越了Application.ThreadException和AppDomain.CurrentDomain.UnhandledException
2023-04-17 03:25:00

Exception getting past Application.ThreadException and AppDomain.CurrentDomain.UnhandledException我遇到了一个应用程序挂起的问题,并给了我默认的"请告诉Microsoft有关此问题"的弹出窗口,而不是应用程序中的"未处理的异常"对话框。 在应用程序代码中,Application.ThreadException和AppDomain.CurrentDomain.UnhandledException都被重定向到将错误日志写入磁盘,将屏幕快照保存到磁盘并显示友好对话框的方法。 但是,当发生此错误时,这三件事均不会发生。我得到的只是事件查看器中的代码: EventType clr20e3,P1 myapp.exe,P2 4.0.0.0,P3 47d794d4,P4 mscorlib,P5 2.0.0.0,P6 471ebc5b,P7 15e5,P8 27,P9 system.argumentoutofrange,P10 NIL 鉴于该错误似乎仅在应用程序运行了几个小时后才发生,所以我想知道这是否可能是内存泄漏问题。我已经搜索了" clr20e3",但只设法找到了ASP.Net。我的应用程序是Windows Forms(.Net 2.0)exe,使用相当多的程序集-在C#和一些非托管C ++中。 我猜这也可能是错误处理方法中的错误-正如一些答案所暗示的,我可以尝试在错误处理程序的开始处进行日志记录(但是考虑到这无论如何我都要做的...)。 任何解决此问题的帮助将不胜感激-无论是解决方案,还是有关如何找出问题根源的建议。 更新:原始错误的根本原因是访问具有负索引的数组(即system.argumentoutofrange)。为什么这没有被捕获对我来说还是个谜,但是鉴于两个异常都被发送到了相同的处理代码,我想知道是否不存在这样的情况:(例如)两者都被调用并争用资源(例如,日志文件)? 我通过在错误处理代码中的任何其他操作之前执行EventLog.WriteEntry来证明了这一点。现在添加了一个标志来防止错误处理再次输入,我似乎不再有问题...
您是否检查过 编辑:可以在以下位置找到写入事件日志的信息: http://support.microsoft.com/kb/307024 只是在这里黑暗中射击-ArgumentOutOfRangeException是否实际上是从异常处理程序中抛出的? 此外,您没有说出问题类型的应用程序-Application.ThreadException仅影响WinForms线程,因此,如果这不是GUI应用程序,那就没有用了。 (请参阅MSDN文档中的"备注"部分) 您是否多次调用Application.Run()? 这将显示您描述的相同符号。 您必须编写一个自定义ApplicationContext类作为解决方法。 仅调整了我的$ 0.02(根据通货膨胀)。 |
最新内容
相关内容
linux挂起任务命令?
linux挂起任务命令?,系统,工作,信息,工具,地址,情况,暂停,数据,命令,进程,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命令linux进入挂起的命令?
linux进入挂起的命令?,系统,标准,设备,工作,暂停,命令,状态,信息,名称,邮箱,Linux系统如何实现用户注销/挂起1、shutdown是一个用来安全关闭或linux设默认网关命令?
linux设默认网关命令?,信息,地址,网关,网络,系统,状态,中心,命令,终端,路由,linux怎么设置默认网关1、部分1:使用终端打开终端。你可以从边栏打linux终止挂起命令?
linux终止挂起命令?,系统,传播,进程,命令,管理,程序,终端,结束,指令,操作系统,Linux中怎么终止正在运行的后台程序killall命令。在linux中,拥有linux默认命令删除?
linux默认命令删除?,系统,软件,名称,档案,命令,文件,目录,不了,电脑,文件夹,关于linux的删除命令1、命令格式:rm [选项] 文件… 命令功能:删除一linuxrm命令默认?
linuxrm命令默认?,系统,命令,档案,工作,文件,目录,名称,文件夹,选项,子目录,linux如何使用rm命令快速删除文件Linux rmdir命令:删除空目录(空的linux命令默认加后缀?
linux命令默认加后缀?,系统,文件,密码,通用,设备,命令,目录,后缀,表示,程序,linux下如何增加目录下的部分文件.bak后缀??又如何将.bak后缀删除linux默认浏览器命令?
linux默认浏览器命令?,环境,系统,发行,工程,工具,浏览器,软件,情况,网站,管理系统,如何在Linux环境下,使用Java打开默认浏览器退出firefox。删linux默认压缩命令?
linux默认压缩命令?,系统,名称,命令,文件,工具,软件,目录,选项,文件名,格式,linux打包压缩命令tar如图看到的示例,用tar命令来打包这些文件以及linux默认命令行字体?
linux默认命令行字体?,系统,工具,等级,数字,百度,情况,代码,终端,字体,字符,linux下tty纯文本终端的字体大小是否可以不借助任何工具进行设置?linux默认命令行模式?
linux默认命令行模式?,系统,密码,工具,地方,设计,设备,服务,网络,终端,界面,linux登录时为什么是命令行模式你是用的什么登陆管理器呢?一般安装linux命令提示符默认?
linux命令提示符默认?,系统,标准,信息,基础,代码,软件,美元,电脑,提示符,用户,如何配置Linux命令行的字体和背景颜色1、\033[46m:设置背景色为