无法打破符号 - [UIView _viewHierarchyUnpreparedForConstraint:]

时间:2014-11-14 18:18:02

标签: lldb uiview-hierarchy

我正在以编程方式添加约束来调试问题。当我的应用程序崩溃LLDB告诉我打破 - [UIView _viewHierarchyUnpreparedForConstraint:]进一步调试问题。但是,当我在LLDB中添加断点时:

b s -n  -[UIView _viewHierarchyUnpreparedForConstraint:]

我从LLDB收到以下警告: 警告:无法将断点解析为任何实际位置。

我还尝试使用Breakpoint navigator +选项添加符号断点。

所以它看起来好像这个符号不存在。 如何查看生成的所有符号列表以确保此符号是否存在?

感谢您的帮助

-Malena

1 个答案:

答案 0 :(得分:1)

lldb命令行是以空格分隔的,因此如果要将参数或选项值传递给其中包含空格的参数或值,则需要使用引号来保护空格。看看是否有效:

(lldb) b s -n  "-[UIView _viewHierarchyUnpreparedForConstraint:]"

细心的读者会注意到你输入的命令有“ - [UIView”作为-n的选项值,然后是悬空参数“_viewHierarchyUnpreparedForConstraint:]”和权限(因为break set需要没有参数)你应该得到关于不带参数的中断集的错误。这是一个错误......

要回答您的其他问题,请使用lldb命令:

(lldb) image dump symtab

将转储程序中的所有符号。您可以通过将其添加到命令行来将其扩展到特定库,例如,这个可能在UIKit中,因此:

(lldb) image dump symtab UIKit

将仅显示UIKit中的符号。还有一个按名称image lookup -n查找特定符号的命令,但一般来说,如果断点设置器找不到它们,图像查找也不会找到它们。