在堆栈跟踪中,方法名称旁边的数字是什么?

14

我有一个简单的问题,但我找不到任何答案。

第6行末尾的数字是多少,是+429吗?

堆栈跟踪图像


如果您正在尝试调试此特定崩溃,我可以告诉您,在IB中,您缺少单元格的重用标识符。我猜测您正在使用UITableView构建的新动态原型。 - Mark Adams
1个回答

14

这意味着第6个栈帧的返回地址比-[#### tableView:cellForRowAtindexPath:]函数的开始位置偏移429字节。它可能在该函数内部,也可能超出该函数的结尾但不在任何其他已知函数内。

更新

为了使符号化程序能够将这些返回地址转换为行号,您必须具有链接器创建可执行文件时创建的.dSYM文件。每个可执行文件都带有一个UUID,.dSYM文件也带有相同的UUID。符号化程序查看可执行文件的UUID,并使用Spotlight(OS X的文件系统搜索支持)查找匹配的.dSYM文件。如果您没有保存.dSYM文件,则很难将地址转换为行号。请注意,当您告诉Xcode构建归档文件(Product > Archive)时,该归档文件包含可执行文件及其匹配的.dSYM文件。


非常感谢。我在调试Xcode方面还很新,只有一个小问题,我正在学习一个有用的新词:符号化。但是通过组织者->设备日志,我能找到崩溃的确切行吗? - DonMizzi
3
阅读技术文档2123。http://developer.apple.com/library/mac/#technotes/tn2004/tn2123.html - rob mayoff
谢谢提供链接,我已经阅读了主要内容,但是有很多信息。我也尝试运行symbolicatecrash,但是对于上面显示的崩溃,我得到了相同的结果,没有关于崩溃行的信息。我认为崩溃已经被符号化了(对吗?),但是缺少行号。我只有一个疑问:我没有提交的dSYM,但我有源代码。是否可以重新创建dSYM并能够找到行号?只回答是或否,然后我会尝试找出如何操作。谢谢。 - DonMizzi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接