我可以从此错误日志中推断出什么?

时间:2016-02-17 23:05:46

标签: ios xcode runtime-error

我使用了一个狡猾的第三方框架,需要我做一些真正的工作才能让它发挥作用。简而言之,它们提供了两个导致duplicated symbols链接器错误的框架;我不得不使用libtool合并2个框架,这不是一个有趣的旅程。

它工作了几次,但奇怪的是我现在崩溃了。这是崩溃日志:

<Project Name>`__26-[IDTechEMV swipeMSRData:]_block_invoke:
    0x100401a40 <+0>:   stp    x29, x30, [sp, #-16]!
    0x100401a44 <+4>:   mov    x29, sp
    0x100401a48 <+8>:   sub    sp, sp, #48
    0x100401a4c <+12>:  adrp   x8, 372
    0x100401a50 <+16>:  add    x8, x8, #3360
    0x100401a54 <+20>:  adrp   x9, 380
    0x100401a58 <+24>:  add    x9, x9, #1864
    0x100401a5c <+28>:  stur   x0, [x29, #-8]
    0x100401a60 <+32>:  mov    x1, x0
    0x100401a64 <+36>:  stur   x1, [x29, #-16]
    0x100401a68 <+40>:  ldr    x9, [x9]
    0x100401a6c <+44>:  ldr    x1, [x8]
    0x100401a70 <+48>:  str    x0, [sp, #24]
    0x100401a74 <+52>:  mov    x0, x9
    0x100401a78 <+56>:  bl     0x1004505c8               ; symbol stub for: objc_msgSend
    0x100401a7c <+60>:  mov    x29, x29
    0x100401a80 <+64>:  bl     0x10045061c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x100401a84 <+68>:  adrp   x8, 371
    0x100401a88 <+72>:  add    x1, x8, #4056
    0x100401a8c <+76>:  ldr    x1, [x1]
    0x100401a90 <+80>:  mov    x8, x0
    0x100401a94 <+84>:  str    x0, [sp, #16]
    0x100401a98 <+88>:  mov    x0, x8
    0x100401a9c <+92>:  bl     0x1004505c8               ; symbol stub for: objc_msgSend
    0x100401aa0 <+96>:  mov    x29, x29
    0x100401aa4 <+100>: bl     0x10045061c               ; symbol stub for: objc_retainAutoreleasedReturnValue
    0x100401aa8 <+104>: adrp   x8, 379
    0x100401aac <+108>: add    x1, x8, #1632
    0x100401ab0 <+112>: ldr    x1, [x1]
    0x100401ab4 <+116>: movz   w2, #0x5
    0x100401ab8 <+120>: str    x0, [sp, #8]
    0x100401abc <+124>: bl     0x1004505c8               ; symbol stub for: objc_msgSend
    0x100401ac0 <+128>: ldr    x0, [sp, #8] // Thread 1: signal SIGABRT
    0x100401ac4 <+132>: bl     0x1004505ec               ; symbol stub for: objc_release
    0x100401ac8 <+136>: ldr    x0, [sp, #16]
    0x100401acc <+140>: bl     0x1004505ec               ; symbol stub for: objc_release
    0x100401ad0 <+144>: adrp   x8, 379
    0x100401ad4 <+148>: add    x0, x8, #1752
    0x100401ad8 <+152>: adrp   x8, 694
    0x100401adc <+156>: add    x1, x8, #3200
    0x100401ae0 <+160>: adrp   x8, 694
    0x100401ae4 <+164>: add    x8, x8, #3196
    0x100401ae8 <+168>: adrp   x9, 694
    0x100401aec <+172>: add    x9, x9, #3192
    0x100401af0 <+176>: adrp   x10, 694
    0x100401af4 <+180>: add    x10, x10, #3188
    0x100401af8 <+184>: orr    w2, wzr, #0x1
    0x100401afc <+188>: adrp   x11, 694
    0x100401b00 <+192>: add    x11, x11, #3187
    0x100401b04 <+196>: movz   w12, #0
    0x100401b08 <+200>: adrp   x13, 694
    0x100401b0c <+204>: add    x13, x13, #3186
    0x100401b10 <+208>: adrp   x14, 694
    0x100401b14 <+212>: add    x14, x14, #3185
    0x100401b18 <+216>: strb   w12, [x14]
    0x100401b1c <+220>: strb   w12, [x13]
    0x100401b20 <+224>: strb   w2, [x11]
    0x100401b24 <+228>: ldr    x11, [sp, #24]
    0x100401b28 <+232>: ldr    x13, [x11, #32]
    0x100401b2c <+236>: ldr    s0, [x10]
    0x100401b30 <+240>: ldr    w2, [x9]
    0x100401b34 <+244>: ldrb   w12, [x8]
    0x100401b38 <+248>: uxtb   w3, w12
    0x100401b3c <+252>: ldr    x4, [x1]
    0x100401b40 <+256>: ldr    x1, [x0]
    0x100401b44 <+260>: mov    x0, x13
    0x100401b48 <+264>: bl     0x1004505c8               ; symbol stub for: objc_msgSend
    0x100401b4c <+268>: mov    sp, x29
    0x100401b50 <+272>: ldp    x29, x30, [sp], #16
    0x100401b54 <+276>: ret

控制台错误显示为:

2016-02-17 14:56:14.683 <Project Name>[4038:2623242] -[<Project Name>.BookingDetailViewController emvTransactionMessage:]: unrecognized selector sent to instance 0x15810fc00
2016-02-17 14:56:14.686 <Project Name>[4038:2623242] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[<Project Name>.BookingDetailViewController emvTransactionMessage:]: unrecognized selector sent to instance 0x15810fc00'
*** First throw call stack:
(0x180c39900 0x1802a7f80 0x180c4061c 0x180c3d3e8 0x180b4168c 0x100401ac0 0x10250dbf0 0x10250dbb0 0x102513658 0x180bf0bb0 0x180beea18 0x180b1d680 0x18202c088 0x185994d90 0x10010ad1c 0x1806be8b8)
libc++abi.dylib: terminating with uncaught exception of type NSException

我已经尝试了我常用的调试方法,而且我在这里使用绳索,所以我试图找出这个日志。 [IDTechEMV swipeMSRData:]_block_invoke是否表明这在IDTechEMV方法调用中崩溃了?我可以断定框架本身搞砸了吗?

1 个答案:

答案 0 :(得分:1)

在崩溃日志中,您的emvTransactionMessage:正在尝试调用函数BookingDetailViewController,但无法识别该函数。

这通常是在输入选择器时由拼写错误引起的。检查您的emvTransactionMessage:是否确实有函数$ diskutil list需要函数调用中的参数。

相关问题