我正在开发一个 iOS 应用程序并遇到崩溃。我无法调试它,因为我需要一个代替 Apple 连接器的串行通信工具。我设法在失败的情况下生成堆栈跟踪:
0 - 0 Flashtool_iPad 0x0003d8c1 SignalHandler + 152
1 - 1 libsystem_c.dylib 0x3c0fee93 _sigtramp + 42
2 - 2 libsystem_c.dylib 0x3c12283d __sfvwrite + 352
3 - 3 Flashtool_iPad 0x00041811 -[ProgrammingLogic execute_programming_procedure] + 716
4 - 4 Flashtool_iPad 0x0003e86f __52-[ProgramViewController programController:forEvent:]_block_invoke + 54
5 - 5 libdispatch.dylib 0x3c09811f <redacted> + 10
6 - 6 libdispatch.dylib 0x3c09becf <redacted> + 142
7 - 7 libdispatch.dylib 0x3c09bdc1 <redacted> + 40
8 - 8 libdispatch.dylib 0x3c09c91d <redacted> + 184
9 - 9 libdispatch.dylib 0x3c09cac1 <redacted> + 84
10 - 10 libsystem_c.dylib 0x3c0cca11 <redacted> + 360
11 - 11 libsystem_c.dylib 0x3c0cc8a4 start_wqthread + 8
但不幸的是,指示实际失败发生位置的第四行(3 - 3 Flashtool_iPad 0x00041811 -[ProgrammingLogic execute_programming_procedure] + 716
)指向目标 C 代码中的注释...此语句:4 - 4 Flashtool_iPad 0x0003e86f __52-[ProgramViewController programController:forEvent:]_block_invoke + 54
实际上出现在源代码的第 48 行 - 而不是 54 !那么偏移量是从哪里来的呢?提前致谢