微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LLDB C调试

我是LLDB的新手,我正在使用我的代码中的各种std :: vector,但是当我尝试打印一个向量的值或者查询我的向量的大小时,像expr'(int)myVector [0] ‘或expr'(int)myVector.size()’调试器打印与我知道的矢量中的值无关的值.

当我正在学习使用命令行和LLDB进行调试时,我相信我在这里缺少一些东西,任何人都可以发现我的错误或提供一些建议?

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

解决方法

我自己找到答案显然,像[]这样的重载运算符是不允许的,因为它们是内联的,see this question是有更好的解释的.

此外,我不知道为什么我将单引号放在我想要评估的语句中(我很确定我在其他地方看到了…它们在LLDB中实际上是什么意思)就像这样的expr’printf( “嘿”)’

所以,引用引用并在引用的问题中使用答案就足够了

expr(int)myVector .__ begin_ [0]

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

原文地址:https://www.jb51.cc/c/110679.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐