代码之家  ›  专栏  ›  技术社区  ›  DevWithZachary

从苹果的崩溃报告中找到崩溃的根源

  •  1
  • DevWithZachary  · 技术社区  · 6 年前

    我有一个应用程序被苹果拒绝了,因为它为他们崩溃了,我似乎无法确定崩溃实际上发生在哪里以进一步调试(我也无法复制到目前为止的崩溃)。

    使用 https://developer.apple.com/library/archive/technotes/tn2151/_index.html How to symbolicate crash report from Apple received in .txt format not .crash format 我能部分地象征他们寄给我的撞车报告,这给了我一句台词:

    0应用程序0x000000010461AD04关闭2在关闭1在关闭 viewcontroller.getlocations(lat:lng:)+470276 (视图控制器。Swift:0)

    在查看方法viewcontroller.getlocations时,我看不到可能导致崩溃的任何内容,但我对+470276有点困惑,这意味着什么?

    完整的回溯:

    Thread 0 Crashed:
    0   App                 0x000000010461ad04 closure #2 in closure #1 in ViewController.getTolls(lat:lng:) + 470276 (ViewController.swift:0)
    1   App                 0x00000001045cae70 thunk for @escaping @callee_guaranteed () -> () + 142960 (MyVehiclesViewController.swift:0)
    2   libdispatch.dylib               0x00000001836ecaa0 0x1836eb000 + 6816
    3   libdispatch.dylib               0x00000001836eca60 0x1836eb000 + 6752
    4   libdispatch.dylib               0x00000001836f965c 0x1836eb000 + 58972
    5   CoreFoundation                  0x0000000183da3070 0x183cb5000 + 974960
    6   CoreFoundation                  0x0000000183da0bc8 0x183cb5000 + 965576
    7   CoreFoundation                  0x0000000183cc0da8 0x183cb5000 + 48552
    8   GraphicsServices                0x0000000185ca6020 0x185c9b000 + 45088
    9   UIKit                           0x000000018dce0758 0x18d9c3000 + 3266392
    10  App                 0x00000001045ae924 main + 26916 (BaseViewController.swift:24)
    11  libdyld.dylib                   0x0000000183751fc0 0x183751000 + 4032
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Pasosta    6 年前

    在我看来,在我的VehiclesViewController中有一个对逃逸关闭的调用,它不知何故没有得到满足。回溯中的“+47276”也是给定内存地址的偏移量。完整的符号应该给出行号。

    对于如何完全符号化的堆栈溢出, this one 相当不错。