当 Crashlytics 捕获异常时应用程序崩溃

Posted

技术标签:

【中文标题】当 Crashlytics 捕获异常时应用程序崩溃【英文标题】:App crashes when Crashlytics catches an exception 【发布时间】:2013-09-05 05:39:10 【问题描述】:

我已将 Crashlytics 集成到我的 Xamarin.ios 项目中,Crashlytics 启动,应用程序出现在 crashlytics 站点上。 但是,当 crashlytics 捕获异常时,它会崩溃并出现下一个错误:

信号 %d,信息 %p,uapVoid %p

无法设置堆栈 %s

我正在像这样 (method description) 开始使用 crashlytics 和 AppDomain.CurrentDomain.UnhandledException

public override bool FinishedLaunching (UIApplication app, NSDictionary options)

    IntPtr sigbus = Marshal.AllocHGlobal (512);
    IntPtr sigsegv = Marshal.AllocHGlobal (512);

    // Store Mono SIGSEGV and SIGBUS handlers
    sigaction (Signal.SIGBUS, IntPtr.Zero, sigbus);
    sigaction (Signal.SIGSEGV, IntPtr.Zero, sigsegv);

    ...

    Crashlytics.Crashlytics.StartWithAPIKey("myApiKeyHere");
    AppDomain.CurrentDomain.UnhandledException += (object sender, UnhandledExceptionEventArgs e) => 
        ...
    ;

    sigaction (Signal.SIGBUS, sigbus, IntPtr.Zero);
    sigaction (Signal.SIGSEGV, sigsegv, IntPtr.Zero);

    Marshal.FreeHGlobal (sigbus);
    Marshal.FreeHGlobal (sigsegv);

    return true;

【问题讨论】:

【参考方案1】:

如果您正在寻找官方支持的 Xamarin 崩溃报告器,Crittercism 刚刚在此处发布了我们的绑定:

http://components.xamarin.com/view/crittercism

【讨论】:

以上是关于当 Crashlytics 捕获异常时应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

iOS异常信号的捕获和简单处理

iOS(Fabric):Crashlytics 在启动时崩溃应用程序

有时 RxJava onError 不会捕获异常

Crashlytics - 当应用程序在未连接到 android studio 时崩溃时无法获取崩溃报告

Crashlytics iOS - 记录捕获的异常

Android Fabric - 以自定义间隔发送捕获的异常