gpt4 book ai didi

c++ - 使用 Xcode 调试器查看动态分配的数组?

转载 作者:IT老高 更新时间:2023-10-28 21:49:37 30 4
gpt4 key购买 nike

假设我有一个 C++ 数组:

double* velocity = new double[100];

使用 GDB 命令行,我可以通过以下命令查看这个数组:

> print *velocity @ 100

它会打印出数组中所有 double 值的格式正确的列表。

但是,当使用 Xcode 调试器时,它最多会将其视为指向单个 double 值的指针,并在变量列表中显示 velocity[0]。

这使它成为调试包含大型动态分配数组的程序的真正 PITA。必须有某种方法来告诉 Xcode“这是一个指向长度为 100 的数组的指针”,并让它这样显示。有人知道是什么吗?

最佳答案

我认为我的回答会是对旧回答的一个很好的补充。

新版本的 Xcode 使用 lldb 调试器作为默认工具,而不是 gdb

据此page :

With the release of Xcode 5, the LLDB debugger becomes the foundation for the debugging experience on OS X.

所以对于 Xcode 5 及以上版本,我使用这个 lldb 命令:

memory read -t int -c8 `array_name`

地点:
8 - 数组元素个数
array_name - 数组的名称
int - 数组的类型

这个命令的执行结果是这样的:

(lldb) memory read -t int -c8 array(int) 0x7fff5fbff870 = 7(int) 0x7fff5fbff874 = 6(int) 0x7fff5fbff878 = 9(int) 0x7fff5fbff87c = 10(int) 0x7fff5fbff880 = 1(int) 0x7fff5fbff884 = 8(int) 0x7fff5fbff888 = 4(int) 0x7fff5fbff88c = 3

关于c++ - 使用 Xcode 调试器查看动态分配的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/484707/

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