我正在一个开源技术的个人项目中,开发一个使用C语言构建的应用程序。我正在使用lldb调试器工具。
我的问题很简单:调试时如何显示或显示元素的值。
例如:
#include <iostream.h>
int main(){
char phrase[1024];
int i=0;
for(i=0;i<1024;i++){
printf("%c",phrase[i]);
}
return 0;
}
在lldb提示中,我可以看到数组特定字符的值:
lldb>b 6
lldb>frame variable phrase[0];
当我要执行时:
lldb>frame variable phrase[i]
我收到一个错误:“无法找到与'phrase [i]'相匹配的任何变量表达路径”
您需要使用
(lldb) expr phrase[i]
或同等
(lldb) p phrase[i]
为了那个原因
框架变量支持常量索引(即普通ol'数字),但是如果您需要使用变量或其他任何数字,则需要使用expression命令
需要注意的是,在进行类似数组的访问时,帧var与表达式的行为在某些情况下可能有所不同。这不会影响您的示例(例如,如果您使用的是std :: vector,则不会)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句