右侧的数字在iOS崩溃堆栈跟踪中是什么意思


Application Receive SIGSEGV Signal
(
"0 libsystem_c.dylib _sigtramp + 38 ",
"1 PConlineBrowser PConlineBrowser + 426343 ",
"2 PConlineBrowser PConlineBrowser + 425831 ",
"3 PConlineBrowser PConlineBrowser + 426725 ",
"4 PConlineBrowser PConlineBrowser + 424051 ",
"5 Foundation __NSFireTimer + 144 ",
"6 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 14 ",
"7 CoreFoundation __CFRunLoopDoTimer + 364 ",
"8 CoreFoundation __CFRunLoopRun + 1206 ",
"9 CoreFoundation CFRunLoopRunSpecific + 300 ",
"10 CoreFoundation CFRunLoopRunInMode + 104 ",
"11 GraphicsServices GSEventRunModal + 136 ",
"12 UIKit UIApplicationMain + 1080 ",
"13 PConlineBrowser PConlineBrowser + 7771 ",
"14 PConlineBrowser PConlineBrowser + 5144 "
)

这里有一堆关于我的应用程序的回溯信息,右侧的数字困扰着我,它们真的有意义吗?

您可以为没有详细调试信息的堆栈帧获取这些内容。 由于调试器对这些库的唯一信息是入口点(函数的AKA开始(,它只能给你函数的开始加上一个偏移量(实际上,它可以给你原始地址,但那是完全没用的(。

如果你在调试器中查看框架,在汇编器中,你

可以看到错误在机器代码中发生的位置,所以如果你喜欢调试汇编程序,这对你很有用。

实际上,它们几乎毫无用处,除非您需要将它们发送给Apple,Apple确实具有将这些转换为行号的符号信息。

有时你会得到这些用于你自己的功能。 这表明您没有可用的符号,因为它们已被剥离。 如果从设备获取转储并在文本编辑器中查看,则它可能如下所示。 答案是在组织者中打开转储,组织者将尝试找到匹配的存档,并使用其中的符号文件将偏移量转换为行号。

最新更新