Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何用符号表示编码错误?_Ios_Xcode5_Crash Reports - Fatal编程技术网

Ios 如何用符号表示编码错误?

Ios 如何用符号表示编码错误?,ios,xcode5,crash-reports,Ios,Xcode5,Crash Reports,以下是导致我的应用程序从空闲状态恢复时崩溃的线程。我试着插入我的iPhone,进入organizer,点击iPhone,进入设备日志。但当我单击“重新符号化”时,什么也没有发生。请向symbolicate提供建议和详细说明,以便我能找到车祸的原因。我试着查找如何象征,但没有成功 Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x

以下是导致我的应用程序从空闲状态恢复时崩溃的线程。我试着插入我的iPhone,进入organizer,点击iPhone,进入设备日志。但当我单击“重新符号化”时,什么也没有发生。请向symbolicate提供建议和详细说明,以便我能找到车祸的原因。我试着查找如何象征,但没有成功

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x3b8fa350 __pthread_kill + 8
1   libsystem_c.dylib               0x3b87111e pthread_kill + 54
2   libsystem_c.dylib               0x3b8ad96e abort + 90
3   libc++abi.dylib                 0x3ae4bd4a abort_message + 70
4   libc++abi.dylib                 0x3ae48ff4 default_terminate() + 20
5   libobjc.A.dylib                 0x3b3fca74 _objc_terminate() + 144
6   libc++abi.dylib                 0x3ae49078 safe_handler_caller(void (*)()) + 76
7   libc++abi.dylib                 0x3ae49110 std::terminate() + 16
8   libc++abi.dylib                 0x3ae4a594 __cxa_rethrow + 84
9   libobjc.A.dylib                 0x3b3fc9cc objc_exception_rethrow + 8
10  CoreFoundation                  0x3369df1c CFRunLoopRunSpecific + 452
11  CoreFoundation                  0x3369dd44 CFRunLoopRunInMode + 100
12  GraphicsServices                0x372612e6 GSEventRunModal + 70
13  UIKit                           0x355b32fc UIApplicationMain + 1116
14  FitGoal                         0x00080cc0 0x7a000 + 27840
15  libdyld.dylib                   0x3b833b1c tlv_initializer + 4
  • 符号化不起作用,因为无法使用Spotlight找到导致崩溃的dSYM和app二进制文件,或者两个文件中的任何一个丢失

  • 符号化只会显示第14帧是对
    main.m
    的调用,这对您没有帮助

  • 崩溃是由异常引起的。要找到崩溃的原因,您需要在报告中包含
    特定于应用程序的信息
    块,告诉您引发了哪个异常,以及
    上次异常回溯
    ,它将显示代码中发生异常的位置。苹果的iOS崩溃报告中通常缺少这两个部分

  • 要找到崩溃的原因,您必须:

  • 添加一个
  • 在Xcode中运行调试器的情况下启动应用程序(菜单Product-Run)
  • 重现触发崩溃的场景

  • 我认为您已经在发布模式下进行了测试。在该模式下,“复制期间剥离调试符号”的默认值为“是”

    如果此选项为enable(是),则必须具有.dsym文件才能进行符号化,否则必须禁用它(否)

    在谷歌搜索“复制过程中去除调试符号”


    Kemi是正确的,这就是您在处理这起特殊事故时所遇到的情况。也就是说,如果您能够管理每个构建,那么您应该始终在每个构建中生成调试矮人符号,因为这将允许发布后符号化。然而,我不同意符号化在这种情况下不一定会有帮助。@EddieFreeman:符号化如何能帮助这个崩溃报告?第14帧将显示
    main.m
    ,而不显示其他内容。如果有一个
    最后一个异常回溯
    ,这会有所帮助,但因为它不存在,所以在这里没有帮助。(iOS崩溃报告中通常缺少这些异常回溯)它将显示框架方法路径(不是行号,但知道调用什么方法是有帮助的),假设符号已打包。也就是说,您必须放置一些日志语句来捕获应用程序崩溃的位置,或者采用断点方法。只有在没有从二进制文件中删除符号的情况下,这才是正确的。但是,在发布模式下,从二进制文件中剥离符号是默认设置,建议这样做,因为这样可以节省(大量)空间。