如何跟踪xamarin.mac应用程序未处理的异常
我想在我的xamarin mac应用程序(如用于跟踪android和ios应用程序异常的曲棍球应用程序)中获取未处理异常的崩溃报告。我搜索了很多,但没有得到任何跟踪未处理异常的应用程序。请在xamarin.mac中推荐任何用于跟踪异常的应用程序。提前感谢。我建议您自己实施。Main.cs文件充当Xamarin Mac应用程序的主要入口点。它包含一个静态如何跟踪xamarin.mac应用程序未处理的异常,xamarin,xamarin.mac,Xamarin,Xamarin.mac,我想在我的xamarin mac应用程序(如用于跟踪android和ios应用程序异常的曲棍球应用程序)中获取未处理异常的崩溃报告。我搜索了很多,但没有得到任何跟踪未处理异常的应用程序。请在xamarin.mac中推荐任何用于跟踪异常的应用程序。提前感谢。我建议您自己实施。Main.cs文件充当Xamarin Mac应用程序的主要入口点。它包含一个静态Main方法,用于创建新的Xamarin.Mac应用程序实例: using AppKit; namespace Test { stati
Main
方法,用于创建新的Xamarin.Mac应用程序实例:
using AppKit;
namespace Test
{
static class MainClass
{
static void Main(string[] args)
{
NSApplication.Init();
NSApplication.Main(args);
}
}
}
您可以尝试在此处设置处理程序(在NSApplication.Init()之后;
:
最后两行当然强制执行空指针异常
缺少一件:
private static void CurrentDomain_UnhandledException(object sender, System.UnhandledExceptionEventArgs e)
{
System.Diagnostics.Debug.WriteLine("oh no");
}
希望这能有所帮助。任务异常通常未被发现(即,在未等待的任务中发生的任何异常。Run())。您可以通过将其放入AppDelegate的DidFinishLaunching覆盖中来捕获它们:
TaskScheduler.UnobservedTaskException +=
TaskScheduler_UnobservedTaskException;
void TaskScheduler_UnobservedTaskException(object sender,
UnobservedTaskExceptionEventArgs e)
{
System.Console.WriteLine("**Unobserved Exception**");
System.Console.WriteLine(e.Exception.Message);
}
嗨,Thomas,感谢您宝贵的支持。我尝试过使用代码,因为您提供的示例工作得很好,但没有捕获应用程序中所有未处理的异常。在我的应用程序中,在浏览了几页之后,应用程序崩溃,但上面的代码没有捕获未处理的异常。很遗憾,我的建议没有按预期工作。根据文档,
CurrentDomain
获取当前线程的应用程序域。可能没有引发处理程序的代码是在另一个线程中执行的?不幸的是,我没有其他想法。此解决方案未捕获的崩溃可能发生在核心图形绘制层RoKay上。谢谢你,ThomasStepheaw有什么问题吗捕获此类异常的另一个想法是什么?。
TaskScheduler.UnobservedTaskException +=
TaskScheduler_UnobservedTaskException;
void TaskScheduler_UnobservedTaskException(object sender,
UnobservedTaskExceptionEventArgs e)
{
System.Console.WriteLine("**Unobserved Exception**");
System.Console.WriteLine(e.Exception.Message);
}