堆栈跟踪中方法名称旁边的数字是多少? [英] What is the number next to the method name in a stack trace?

查看:131
本文介绍了堆栈跟踪中方法名称旁边的数字是多少?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a simple question, I suppose, but I cannot find anything.

第6行末尾的数字是什么, + 429

What's the number at the end of line 6, + 429?

推荐答案

这意味着堆栈帧6的返回地址是从[ ## tableView:cellForRowAtindexPath:]函数。它可能在该函数内部,或者它可能超出函数的末尾,但不在任何其他已知函数内。

It means that the return address for stack frame 6 is 429 bytes past the start of the -[#### tableView:cellForRowAtindexPath:] function. It might be inside that function, or it might be past the end of the function but not inside any other known function.

为了使符号员将这些返回地址转换成行号,链接器创建可执行文件时必须具有 .dSYM 文件。每个可执行文件都用UUID标记,并且 .dSYM 文件用相同的UUID标记。符号查看可执行文件的UUID,并使用Spotlight(OS X的文件系统搜索支持)来查找匹配的 .dSYM 。如果您没有保存 .dSYM ,那么您将很难将地址转成行号。请注意,当您告诉Xcode构建存档(产品>存档)时,存档包含可执行文件及其匹配的 .dSYM

In order for the symbolicator to turn those return addresses into line numbers, you must have the .dSYM file that the linker created when it created the executable file. Each executable is tagged with a UUID, and the .dSYM file is tagged with the same UUID. The symbolicator looks at the UUID of the executable and uses Spotlight (OS X's filesystem search support) to find the matching .dSYM. If you didn't save the .dSYM, you will have a hard time turning the addresses into line numbers. Note that when you tell Xcode to build an archive (Product > Archive), the archive contains both the executable and its matching .dSYM.

这篇关于堆栈跟踪中方法名称旁边的数字是多少?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆