gpt4 book ai didi

c++ - 使用 lldb 调试器显示指针值

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:25:12 26 4
gpt4 key购买 nike

我正在从事一个开源技术的个人项目,开发一个用 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]

为了那个

frame 变量支持常量索引(即普通的 ol' 数字),但如果你需要使用变量或除数字之外的任何东西,你需要使用表达式命令

需要注意的是,在进行类似数组的访问时,帧变量与表达式的行为在某些情况下可能会有所不同。这不会影响您的示例(但如果您使用的是 std::vector,则会影响示例)。

关于c++ - 使用 lldb 调试器显示指针值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20430506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com