登录到Visual Studio App Center时,未处理的Xamarin Android异常具有错误的堆栈跟踪

贾斯汀

我正在实施Visual Studio AppCenter来处理崩溃,因为它正在替换HockeyApp。我通过在代码中手动抛出异常来测试它(不在try / catch块中):

throw new Exception ("New exception when redirecting to property details!");

然后,我在全局代码中处理Application.cs中所有未捕获的异常,并尝试通过Crashes.TrackError调用将它们记录到AppCenter:

AndroidEnvironment.UnhandledExceptionRaiser += LogException;

private void LogException (object sender, RaiseThrowableEventArgs e) {
            var exc = e.Exception;
            if (ShouldLogException (exc)) {
                // Log exception to AppCenter.
                var properties = AppCenterLoggingSink.GetProperties ();
                Crashes.TrackError (exc, properties);
                e.Handled = true;
            }
        }

当我这样做时,它记录到控制台的堆栈跟踪看起来很不错:

[MonoDroid] System.Exception:重定向到属性详细信息时出现新的异常![Users / justintoth / Documents / rpr-mobile / android-application / Fragments /中的RPR.Mobile.Droid.Fragments.RecentActivityFragment.RedirectToPropertyDetails的[MonoDroid] [RPR.Mobile.Shared.Entities.PropertyDetails.Property属性] [0x00001] / Users / justintoth / Documents / rpr-mobile / android中的LatestRecentActivityFragment.cs:RPR.Mobile.Droid.Fragments.RecentActivityFragment.b__15_0(RPR.Mobile.Shared.Entities.PropertyDetails.Property属性)中的[MonoDroid] [0x00000] /Applications/Fragments/RecentActivityFragment.cs:170 [RPM.Mobile.Droid.Adapters.SearchResults.PropertyListRowPhotoAdapter.b__2_0(System.Object o,System.EventArgs e)中的[MonoDroid] [0x00001]在/ Users / justintoth / Documents / rpr中-mobile / android-application / Adapters / SearchResults / PropertyListRowPhotoAdapter.cs:

但是,在应用程序关闭时,它会使用错误的堆栈跟踪将异常记录到控制台:

[AppCenterCrashes] System.Exception:重定向到属性详细信息时出现新的异常!(包装器动态方法)System.Object.60(intptr,intptr,intptr)上的[AppCenterCrashes]

当我查看AppCenter时,它仅记录具有错误堆栈跟踪的异常。所以这是一个问题...另一个问题是它完全忽略了我的Crashes.TrackError调用,具有良好堆栈跟踪和属性设置的异常不会添加到AppCenter中。

我想念什么?

多人

Visual Studio AppCenter会自动为您捕获.NET异常。

您之前发布的Android代码不是必需的。没有它,如果您的SDK正确初始化,您将在仪表板中收到堆栈跟踪。

AndroidEnvironment.UnhandledExceptionRaiser += LogException;

private void LogException (object sender, RaiseThrowableEventArgs e) {
        var exc = e.Exception;
        if (ShouldLogException (exc)) {
            // Log exception to AppCenter.
            var properties = AppCenterLoggingSink.GetProperties ();
            Crashes.TrackError (exc, properties);
            e.Handled = true;
        }
    }

上面的代码仅适用于Android平台。因此,基本上,您会收到Android错误,这意味着您的应用程序崩溃了,然后将其发送到appcenter。因此,这种行为对我来说似乎是合乎逻辑的。

让AppCenter自己捕获崩溃,您应该可以处理.NET异常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 Visual Studio 登录时未处理的激活错误

无法登录到Visual Studio市场

Xamarin Forms应用程序未处理的Visual Studio异常调试

防止Visual Studio破坏未处理的异常

在Visual Studio上调试F#代码时,未处理异常的位置不正确

经常单击按钮时,Visual Studio“发生未处理的win32异常”

未处理的异常错误Visual Studio 2012和Allegro 4

Visual Studio App Center Analytics不适用于Xamarin Forms Android项目

Visual Studio调试器无法登录到SQL Server

如何使用git-tf登录到Visual Studio Online?

Visual Studio 2013上的Allegro 4.4.2未处理异常

无法解决Visual Studio 2019中未处理的异常

Visual Studio 2013不会引发用户未处理的异常

Xamarin 传统 Android 项目在 Visual Studio 2017 上构建但有错误

Visual Studio 2013登录错误

Visual Studio分发Xamarin Android APP。错误该API已被弃用,不再可用。[410]

Visual Studio 2017 Studio显示错误``此应用程序处于中断模式''并引发未处理的异常

Visual Studio打破了由未处理的异常对话框处理的异常

在Visual Studio 2017中处理未处理的异常后启用编辑

未处理的异常得到处理(Visual Studio 2019这么聪明还是我错过了什么?)

Visual Studio会在处理异常时中断,就像未处理一样

尝试在Android Studio中设置HttpURLConnection时出现“未处理的异常”

Log4net登录到Oracle在登录到Number字段时抛出错误?

Visual Studio App Center错误:发布生成工件失败,并显示错误:找不到PathtoPublish

Visual Studio App Center Android构建项目找不到解决方案文件

如何在Android的调试版本中禁用Visual Studio App Center SDK?

Visual Studio即时调试器:发生未处理的Microsoft .Net Framework异常

是否可以通过Visual Studio中未处理的异常继续调试?

在“尝试/捕获”内部,Visual Studio在未处理的异常上中断并终止了应用程序