标签: crash-reports

Android全局错误处理和报告活动

我有没有办法注册一个全局错误处理程序,以防止应用程序崩溃?此处描述了崩溃报告:如何从Android应用程序获取崩溃数据?.我有一个想法是扩展这些解决方案以接受应用程序上下文,以便可以重定向到特定的报告活动?但是一旦报告崩溃,不确定应用程序上下文是否在此时有效?

但是,当发生崩溃时,如何将用户重定向到全局错误消息Activity?是否有一些高级方法来注册错误处理程序,以捕获所有错误并防止崩溃?有没有办法注册这样的处理程序,以便它可以防止或幸免于崩溃,然后将用户重定向到一个特定的活动,这将显示有问题的错误消息?

这是我对错误处理程序的修改:

1)只需将applicationContext构造函数作为ctx 传递给构造函数

2)添加reportError(stackTrace)方法将控制转移到错误消息页面

private void reportError(String stackTrace){
        Intent i = new Intent(ctx, DisplayErrorActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        i.setAction("DISPLAY_ERROR_ACTIVITY");
        Bundle b = new Bundle();
        b.putString("STACKTRACE", stackTrace);

        i.putExtras(b); 
        try{
             Log.d("MyErrorHandler","reportError ctx="+ctx);
             ctx.startActivity(i); 
        } catch (Exception e) {
             Exception ex = e;
             e.printStackTrace();
        }

    }
Run Code Online (Sandbox Code Playgroud)

reportError在下面打电话:

public void uncaughtException(Thread t, Throwable e) {
        Log.d("MyUncoughtExceptionHandler", "uncoughtException ctx="+ctx);
        String timestamp=getDateTime();
        final Writer result = new StringWriter();
        final PrintWriter printWriter = new PrintWriter(result);
        e.printStackTrace(printWriter);
        String stacktrace = result.toString(); …
Run Code Online (Sandbox Code Playgroud)

error-handling android crash-reports uncaught-exception

4
推荐指数
1
解决办法
9561
查看次数

从iOS应用访问iOS崩溃报告

有很多关于如何使用计算机访问崩溃报告的教程,但我希望我的应用程序在启动时扫描崩溃报告(来自其自身),以便用户可以使用我的应用程序向我发送报告.这可能吗?

iphone crash-reports crash-dumps ios

4
推荐指数
1
解决办法
7135
查看次数

捕获应用程序崩溃事件

我在VB.Net上做了一个应用程序.但有些用户在启动时会遇到崩溃.这是"一个问题导致该程序无法正常工作"只需一个按钮"关闭程序".由于应用程序加载时发生了很多事情,是否可以知道导致问题的原因?

vb.net crash crash-reports winforms

4
推荐指数
1
解决办法
5167
查看次数

从Thread.UncaughtExceptionHandler启动服务?

我正在尝试设置一个全局异常处理服务,如本答案中所述.这种方法听起来合乎逻辑,因为在崩溃之后,我的自定义中的代码Thread.UncaughtExceptionHandler可能无法成功执行,因为应用程序可能不处于稳定状态,或者因为可能没有足够的时间在该进程被操作系统杀死之前.

不幸的是,这种方法似乎不起作用,因为服务在同一个过程中启动,所以它也被杀死了.如何从处理程序启动服务uncaughtException()?我可以强制服务在完全独立的过程中启动吗?


我正在设置我的自定义默认(VM级别)异常处理程序,Application如下所示:

public class MyApp extends Application {    
    @Override
    public void onCreate() {
        Thread.setDefaultUncaughtExceptionHandler(
            MyExceptionReporter.getInstance(this));
        ...
Run Code Online (Sandbox Code Playgroud)

在我的自定义处理程序中,我正在启动这样的服务:

final Intent i = new Intent(MyExceptionService.INTENT);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra(MyExceptionService.EXTRA_STACK_TRACE,
    Log.getStackTraceString(ex));
mContext.startService(i);
Run Code Online (Sandbox Code Playgroud)

该服务在AndroidMaifest.xml文件中被解析,并从应用程序的其他地方启动.

android exception process crash-reports android-service

4
推荐指数
1
解决办法
1193
查看次数

libMobileGestalt copySystemVersionDictionaryValue:无法从系统版本字典中查找ReleaseType

我在提交更新之前一直在测试...来自iOS4,并且已经遇到以下情况...... 1)从我的应用程序创建PDF.2)似乎不一致,因为在大多数情况下我可以创建没有问题的新PDF.3)崩溃日志指示ExportView的第341行崩溃,我已经配置了该行,因此该行上唯一的项目是CFRangeMake.请注意,控制台中存在一个值,因为在多行中使用了相同的值.

一些注意事项:使用Xcode 4.6,目标是iOS6,完全ARC,在新iPad上测试.

任何帮助都将非常感谢!!

我删除了一些崩溃日志和控制台日志以缩短这篇文章!对它的长度表示歉意!

要应用于PDF创建的字符串的方法:

- (CFMutableAttributedStringRef) CreateAttributedString:(int*) dateLength
                                        titleLength:(int*) titleLength
{
    NSLog(@"Current EntryIndex: %d", _entryIndex);
    NSLog(@"Current Entry: %@", _currentEntry); // current entry is set from the parent view controller via PrepareForSegue

    NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MMMM dd, yyyy, h:mm aaa"];
    NSString * dateString = [dateFormatter stringFromDate:_currentEntry.created];
    *dateLength = [dateString length];
    NSLog(@"DateString: %@", dateString);
    NSLog(@"2nd DateLength: %d", *dateLength);

    NSString *title = _entryTitle;
    *titleLength = [title length];

    NSString *bodyString = _entryText;
    NSString *contentString = [NSString …
Run Code Online (Sandbox Code Playgroud)

crash-reports core-foundation core-text ios6

4
推荐指数
1
解决办法
9044
查看次数

iOS崩溃日志NSObject didNotRecognizeSelector:-在哪一行?

我记录了我的应用程序崩溃,但是我的应用程序(5 Control)中的最后一行仅指向方法开始。我怎么知道问题出在哪一行?

0   CoreFoundation                  0x185f0af50 __exceptionPreprocess + 132
1   libobjc.A.dylib                 0x1924141fc objc_exception_throw + 60
2   CoreFoundation                  0x185f0fc04 -[NSObject(NSObject) doesNotRecognizeSelector:] + 220
3   CoreFoundation                  0x185f0d930 ___forwarding___ + 912
4   CoreFoundation                  0x185e2d5dc _CF_forwarding_prep_0 + 92
5   Control                         0x10005acb4 -[PaymillPaymentService handleTransactionListRequest:] (PaymillPaymentService.m:211)
6   Foundation                      0x186a7416c __103+[__NSOperationInternal _observeValueForKeyPath:ofObject:changeKind:oldValue:newValue:indexes:context:]_block_invoke96 + 28
7   libdispatch.dylib               0x1929ec014 _dispatch_call_block_and_release + 24
8   libdispatch.dylib               0x1929ebfd4 _dispatch_client_callout + 16
9   libdispatch.dylib               0x1929f32b8 _dispatch_root_queue_drain + 556
10  libdispatch.dylib               0x1929f34fc _dispatch_worker_thread2 + 76
11  libsystem_pthread.dylib         0x192b816bc _pthread_wqthread + 356
12  libsystem_pthread.dylib         0x192b8154c start_wqthread …
Run Code Online (Sandbox Code Playgroud)

crash-reports ios

4
推荐指数
1
解决办法
4877
查看次数

如何为OS X应用程序表示挂起报告?

我的一个应用程序(发布版本)没有响应,所以我不得不强制退出它.

OS X提交了一个Hang报告(没有崩溃报告),我将其复制到*.crash文件中.

我知道我可以使用HockeyApp等服务或atos直接表示崩溃报告,但我如何为OS X应用程序表示Hang报告?

macos crash-reports hang symbolicatecrash

4
推荐指数
1
解决办法
1930
查看次数

xCode-Apple Crash Report Service的崩溃报告的异常原因

我试图使用xCode Organizer(xCode-> Organizer-> Crashes)修复我已经发布的App的一些错误,这些错误已通过Apples崩溃报告服务注意到。它工作正常,我可以在项目中打开崩溃报告,因此xCode向我显示了崩溃的每个细节,例如代码行,发生异常,调用堆栈等。

我的问题是,我找不到异常原因,例如:

-[__NSArray0 addObject:]: unrecognized selector sent to instance 0x7fa99b801c40
Run Code Online (Sandbox Code Playgroud)

我需要100%找出原因,导致我的应用程序在此行在某些设备上崩溃。我已经研究过苹果有关分析崩溃报告的文章,但没有成功。

有人知道吗,我可以在Apple的崩溃报告服务提供的崩溃报告中看到崩溃的原因吗?

xcode exception-handling objective-c crash-reports ios

4
推荐指数
1
解决办法
966
查看次数

Cordova应用程序可以编译,但运行时会崩溃。如何获得错误报告?

我有一个可正确编译的Cordova应用程序。但是,当我在Android设备上用午餐时,应用程序立即在启动时崩溃。当我不知道错误是什么时,我很难调试...

问题:是否有办法从此崩溃中获取错误报告?

我通常使用chrome调试我的应用程序,但只有在该应用程序能够在设备上加载并运行的情况下,该方法才有效。

debugging android crash-reports google-chrome-devtools cordova

4
推荐指数
1
解决办法
3246
查看次数

框架中的崩溃分析工具

我的团队正在开发供客户端使用的iOS框架,当我们想要在框架中使用某种崩溃报告工具(例如Crashlytics,KSCrash等)时遇到瓶颈,以便我们可以跟踪崩溃当客户在其应用程序中使用我们的框架时。

但是,问题在于,如果第三方崩溃报告工具(框架和客户端)都使用相同的崩溃报告工具,则它们似乎无法正常工作。例如,如果我们的框架和客户端应用程序均依赖Crashlytics报告崩溃,则由于API受限制,它将无法正常工作。大多数其他开放源代码项目几乎所有时间都用于sharedInstance初始化类。因此,这也不起作用。

我的问题是...我敢肯定,那里有公司和软件正在使用某种崩溃报告工具来分析在分发给许多客户的自己的框架上的崩溃。怎么做?有什么见解吗?

crash frameworks crash-reports crashlytics

4
推荐指数
1
解决办法
188
查看次数