Xcode lldb-如何打印没有摘要的对象?

Xcode lldb-如何打印没有摘要的对象?,xcode,xcode4,lldb,Xcode,Xcode4,Lldb,问题:我已经为我的对象创建了一个摘要,让我们想想一个微不足道的boost::intrusive_ptr(我有更复杂的,所以这只是一个例子) 现在如果我有: boost::intrusive_ptr< MyClass > pobj; 我来看看我的课程总结 但是,如果我想看到它的内部px成员-即pobj.px,该怎么办 我知道两种方法: 将摘要放入类别,然后临时禁用它(不方便) 帧变量-Y0 这一秒是理想的,但是如果我想看到一个表达式的结果,该怎么办呢? 这类似于p MyObj.G

问题:我已经为我的对象创建了一个摘要,让我们想想一个微不足道的boost::intrusive_ptr(我有更复杂的,所以这只是一个例子)

现在如果我有:

boost::intrusive_ptr< MyClass >  pobj;
我来看看我的课程总结

但是,如果我想看到它的内部px成员-即pobj.px,该怎么办

我知道两种方法:

  • 将摘要放入类别,然后临时禁用它(不方便)
  • 帧变量-Y0 这一秒是理想的,但是如果我想看到一个表达式的结果,该怎么办呢? 这类似于p MyObj.GetContents.GetSmartPtr()
我已经尝试过类似的方法:

frame variable -Y0 $0
但这不起作用

我使用XCode 4.6.3

有没有办法关闭摘要?
可能有人知道这是在XCode 5还是最新的lldb中解决的?

您可以使用
帧变量-R
查看原始信息

(lldb) fr v test
(std::__1::string) test = "hi there"

(lldb) fr v -R test
(std::__1::string) test = {
  __r_ = {
    std::__1::__libcpp_compressed_pair_imp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, std::__1::allocator<char> > = {
      __first_ = {
         = {
[...]

并且希望查看
$0
,而不进行任何格式设置,并且
帧变量
无法访问方便变量,因此需要通过
表达式
(aka
p
)命令进行查看。在这种情况下,我知道的唯一解决办法是暂时禁用格式,例如
type category disable libcxx
,这是此人希望避免的操作。

这对表达式没有帮助。也就是说,如果没有“test”,但std::string只是作为函数的结果返回
(lldb) fr v test
(std::__1::string) test = "hi there"

(lldb) fr v -R test
(std::__1::string) test = {
  __r_ = {
    std::__1::__libcpp_compressed_pair_imp<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, std::__1::allocator<char> > = {
      __first_ = {
         = {
[...]
(lldb) p foo()
(std::string) $0 = "hi there"