c++ - 如何通过指向类实例的指针获取LLDB中类的成员

标签 c++ lldb

我现在在 MAC 中使用 LLDB(相当新的用户)。我有以下示例代码:

 MessageCacheItem::pointer msg = getValue(objId);
 bool outdated = (NULL != msg.get()) && (msgSentTime > msg->m_msgSentTime);
 return outdated;

MessageCacheItem 是一个具有私有(private)成员 m_msgSentTime 的类。在 LLDB 中,我使用了以下命令:

fr v msg->m_msgSentTime

它给了我以下错误:

error: "msg" is not a pointer and -> was used to attempt to access "m_msgSentTime". Did you mean "badge.m_msgSentTime"?

虽然 msg 是指向类实例的 shared_pointer。

我的问题是:如何在 LLDB 中使用指向类实例的指针检查类的成员

最佳答案

而不是使用

fr v msg->m_msgSentTime

请改用以下内容:

p msg->msgSentTime

但是,我还没有发现这两个命令之间的区别在哪里(以防万一有人看到同样的问题,我回答了我自己的问题)。如果任何 LLDB 高手知道其中的区别,欢迎您添加更多。

关于c++ - 如何通过指向类实例的指针获取LLDB中类的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26812492/

相关文章:

C++ 我需要为一个函数到处写 throw 子句吗?

xcode - 如何在LLDB调试器中调用方法或执行代码?

swift - Xcode lldb 错误 : can't print out Swift variable - get "$__lldb_injected_self.$__lldb_wrapped_expr_x" instead

ios - LLDB 和 "<register XY is not available>"

c++ - 如何在 C++ 中找到 vector 的第 m 个和第 n 个元素之间的最大元素?

c++ - 字长、字符大小、整数大小和字节之间的关系

c++ - STL 容器类型作为模板参数

ios - lldb 类具有不兼容的父类(super class)

ios - 如何在 iOS/swift 中打破断言

c++ - 如何使用匿名模板参数强制模板参数类从 super 派生