当前位置: 首页 > 编程语言 > C#

如何在C#中收集程序崩溃的堆栈跟踪分享

时间:2023-04-11 01:39:20 C#

如何在C#中收集程序崩溃的堆栈跟踪我是C#新手。我正在编写一个基于桌面的小型应用程序,我需要在应用程序中使用此功能。如果应用程序在任何时候崩溃,应用程序应该有最后一次机会收集堆栈跟踪并将其发送回给我......请让我知道如何处理这个。我是否需要尝试catch来覆盖主应用程序的入口点?或者在C#应用程序中处理此类事情的最佳方法是什么。谢谢,要捕获所有未处理的异常,请将其添加到program.cs:[STAThread]staticvoidMain(){AppDomaincurrentDomain=default(AppDomain);当前域=AppDomain.CurrentDomain;//未处理异常的处理程序。currentDomain.UnhandledException+=GlobalUnhandledExceptionHandler;//表单后面的线程中的异常处理程序。System.Windows.Forms.Application.ThreadException+=GlobalThreadExceptionHandler;...}privatestaticvoidGlobalUnhandledExceptionHandler(objectsender,UnhandledExceptionEventArgse){Exceptionex=default(Exception);ex=(Exception)e.ExceptionObject;ILoglog=LogManager.GetLogger(typeof(Program));log.Error(ex.Message+"n"+ex.StackTrace);}privatestaticvoidGlobalThreadExceptionHandler(objectsender,System.Threading.ThreadExceptionEventArgse){Exceptionex=default(Exception);ex=e.Exception;ILoglog=LogManager.GetLogger(typeof(Program));//Log4NETlog.Error(ex.Message+"n"+ex.StackTrace);您可以通过exception.StackTrace获取堆栈跟踪查看CryptoObfuscator及其自动异常报告功能按钮异常。异常报告包括所有相关信息,包括完整堆栈跟踪和所有方法参数和局部变量的值,以及系统信息、异??常时间、内部版本号,以及可选的开发人员定义的自定义数据,如日志文件、屏幕截图等。免责声明:我在CryptoObfuscator的开发商LogicNPSoftware工作。如果我是你,我会考虑一个多功能的解决方案,例如免费和开源的NBug框架,http://nbug.codeplex.com/如果你将你的代码包装在一个try-catch中,并且发生异常,您可以获得异常以查看堆栈跟踪。是的,您将添加一个try-catch包装您的主要入口点。以上就是C#学习教程:如何在C#中收集程序崩溃的stacktrace分享全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——试试{MainEntryPoint();}catch(Exceptionexc){System.Diagnostics.Debug.Print(exc.Message);//使用堆栈跟踪获取整个错误消息System.Diagnostics.Debug.Print(exc.StackTrace);//orjustthestacktrace}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: