1
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 "
)

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

4

1 回答 1

3

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

如果您在调试器中查看框架,在汇编器中,您可以看到错误发生在机器代码的哪个位置,所以如果您喜欢调试汇编器,这对您很有用。

实际上,除非您需要将它们发送给苹果,否则它们几乎没用,苹果确实具有将这些符号信息转换为行号的符号信息。

有时您会为自己的功能获得这些。这表明您没有可用的符号,因为它们已被剥离。如果您从设备返回转储并在文本编辑器中查看它,它可能看起来像这样。答案是在管理器中打开转储,它将尝试找到匹配的存档并使用其中的符号文件为您将偏移量转换为行号。

于 2012-07-30T06:38:18.263 回答