LLDB C++调试

BRa*_*t27 12 c++ stl vector lldb

我是LLDB的新手,我正在使用std::vector我的代码中的各种s,但是当我尝试打印向量的值或用类似的东西查询向量的大小时,expr '(int)myVector[0]'expr '(int)myVector.size()'调试器打印的值与之无关价值我知道矢量中有.

当我正在学习使用命令行和LLDB进行调试时,我确信我在这里遗漏了一些东西,有人能发现我的错误或给出一些建议吗?

编辑忘了说我在OS X Mavericks下安装了最新的命令行工具.

BRa*_*t27 20

我自己找到了答案.显然,重载的运算符[]是不允许的,因为它们被内联,请参阅此问题以获得更好的解释.

而且,我不知道为什么我为我要评估的陈述单引号(我很确定我在其他地方看过它......它们在LLDB中实际意味着什么?)就像这样 expr 'printf("Hey")'

因此,在引用的问题中取出引号并使用答案就足够了

expr (int) myVector.__begin_[0]

获取向量中位置的单个值.