2014-09-27 32 views

回答

-1

对象ID 0x7febf0ebcd20
我怎么能知道更多关于此对象吗?

这取决于几件事。如果你可以构建组件(比如你的程序),通常你可以改善这种情况,但有时你不能(比如使用预先构建的库)。

确保您的项目设置为提供尽可能多的调试信息。您可以在项目会从项目继承了以下的变化,以及各种目标。

确保DEBUG=1设置在prerpocessor符号下。这通常会影响Windows组件,而不是Unix/Linux,但我已经看到它在跨平台库上使用。

enter image description here

确保-g3CFLAGS被起诉。 -g3包含符号常数,如#define。您也可以设置-ggdb,但它目前不起作用。

enter image description here

调试可用的信息,你应该能够切换到调试终端及发行po 0x7febf0ebcd20打印有关的地址对象的信息。

另请参阅Apple的Technical Note TN2239, iOS Debugging MagicTechnical Note TN2124, Mac OS X Debugging Magic

+0

请注意,llvm对-g3标志不做任何特殊处理,它与-g处理相同。它被支持作为与gcc兼容的标志。尤其是,在传递-g3时,llvm不会生成DWARF宏调试信息。在实践中,当前设计的宏调试信息使调试信息膨胀,以至于不能用于包含大型系统头文件树(如Cocoa或UIKit)的项目,所以llvm和lldb都不支持它。 – 2014-09-30 16:54:05

相关问题