【发布时间】:2010-10-03 20:06:54
【问题描述】:
假设我有一个 C++ 数组:
double* velocity = new double[100];
使用 GDB 命令行,我可以通过以下命令查看这个数组:
> print *velocity @ 100
它会打印出数组中所有双精度值的格式正确的列表。
但是,当使用 Xcode 调试器时,它最多会将其视为指向单个双精度值的指针,并在变量列表中显示 velocity[0]。
这使它成为调试包含大型动态分配数组的程序的真正 PITA。必须有某种方法来告诉 Xcode“这是一个指向长度为 100 的数组的指针”,并让它这样显示。有人知道是什么吗?
【问题讨论】:
-
您的意思是在调试控制台中中断时对吗? XCode 4.3 似乎支持它。感谢您的提示!
-
即使我输入“print *velocity @ 100”或“print *velocity @ 100;”或“p *速度@ 100;”在调试器控制台中,它不会打印并给出此错误:错误:警告L表达式结果未使用错误:预期';' after expression error: 1 errors parsing expression 有什么提示吗?谢谢!
-
@Zennichimaro XCode 使用 lldb,而不是 gdb。等效为
p *(double( * )[100])velocity。从这个答案:stackoverflow.com/questions/7062173/… -
这个原始问题已有 7 年的历史,我认为这个问题现在应该已经解决了,但我似乎找不到明确的答案。我正在使用最新版本的 Xcode (7.3.1),我无法看到使用指针指向它的数组的所有内容。 2016 年有什么更好的解决方法吗?
-
@joe_04_04 现在支持了,看我的回答