当前位置: 首页 > 编程笔记 >

iOS 捕获程序崩溃日志

林正平
2023-03-14
本文向大家介绍iOS 捕获程序崩溃日志,包括了iOS 捕获程序崩溃日志的使用技巧和注意事项,需要的朋友参考一下

iOS开发中遇到程序崩溃是很正常的事情,如何在程序崩溃时捕获到异常信息并通知开发者?

下面就介绍如何在iOS中实现:

1. 在程序启动时加上一个异常捕获监听,用来处理程序崩溃时的回调动作


NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler); 

官方文档介绍:Sets the top-level error-handling function where you can perform last-minute logging before the program terminates.
UncaughtExceptionHandler是一个函数指针,该函数需要我们实现,可以取自己想要的名字。当程序发生异常崩溃时,该函数会得到调用,这跟C,C++中的回调函数的概念是一样的。

2. 实现自己的处理函数


void UncaughtExceptionHandler(NSException *exception) {

    NSArray *arr = [exception callStackSymbols];//得到当前调用栈信息

    NSString *reason = [exception reason];//非常重要,就是崩溃的原因

    NSString *name = [exception name];//异常类型

    NSLog(@"exception type : %@ \n crash reason : %@ \n call stack info : %@", name, reason, arr);

} 

以上代码很简单,但是带来的作用是非常大的。

以上所述就是本文的全部内容了,希望对大家学习IOS开发能够有所帮助。

 类似资料:
  • 我不明白我的问题在哪里。我的应用程序在启动时崩溃与此崩溃日志。 iOS 7.0。2(11A501)报告版本:104 异常类型: 00000020异常代码: 0x0000008badf00d高亮线程: 0 应用特定信息:com.myapps未能及时启动 已用CPU总时间(秒):4.420(用户4.420,系统0.000),10%CPU已用应用程序CPU时间(秒):0.714,2%CPU 线程0:0

  • 代码: 崩溃仍然被抛出。见下文: 2019-02-20 19:45:22.514 22435-22435/com.xxx。xxx E/PedalApp:无法保存层java.lang.RuntimeException:停止失败。在android.media.MediaRecorder。在com.androidchekhov.looperpedal.PedalActivity$onCreate$6.i

  • golang window程序崩溃 最近遇到一个问题,程序在window上运行,运行一段时间后就会崩溃,以下是崩溃时捕捉到的日志 使用pprof分析过,还是没有找到哪里异常,问问大佬们

  • 问题内容: 当在此应用程序中的iPhone上调用UIActivityViewController时,它可以正常工作,但在iPad上调用时,该应用程序崩溃。下面是我使用的代码: 如您所见,我正在使用SpriteKit Framework在Swift中进行编程,但我不明白为什么应用程序崩溃。 我收到此错误: 我该怎么做才能解决此问题? 问题答案: 在展示之前,添加以下代码行: 这样,视图控制器便知道要

  • 我正在使用内置于Web View的Android开发浏览器。其中我面临的一个问题是,当我访问http://crashmybrowser.com测试浏览器上的选项卡崩溃时,我的整个浏览器应用程序都会崩溃。但是,当在chrome或Opera上进行相同的测试时,这些浏览器会在崩溃中幸存下来,并且只有特定的选项卡崩溃是由于访问上述网站而预期的结果。有人能帮助理解我如何在使用Webview的浏览器上处理此崩

  • 本文向大家介绍Android application捕获崩溃异常怎么办,包括了Android application捕获崩溃异常怎么办的使用技巧和注意事项,需要的朋友参考一下 Android application捕获崩溃异常怎么办? 通用 application 1、收集所有 avtivity 用于彻底退出应用 2、捕获崩溃异常,保存错误日志,并重启应用 以上就是本文的全部内容,希望对大家的学习