arrays - 如何在 gdb 中检查这个数组的这个切片?

标签 arrays gdb

我在 GDB 调试 session 中,我有一个长度为 20,000 的数组。大多数元素为零,但在索引 10000 附近有几个元素。哪些是感兴趣的。不幸的是,当我说 p the_array[10000]@30或者我得到“只有内存中的值可以用'@'扩展”。如何可视化该数组的一个区域,而不必手动请求 40-50 个元素范围内的每个索引?

最佳答案

我希望这能奏效。它确实对我有用。我有这个小程序:

int x[10000];

现在在 gdb 中:
(gdb) p x[50]@3
$2 = {0, 0, 0}

您的问题中缺少许多细节。也许你的 gdb 有一个错误。或者也许你的数组在某些方面很奇怪。 gdb 版本和诸如“whatis the_array”之类的东西可能很有趣。

关于arrays - 如何在 gdb 中检查这个数组的这个切片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17202794/

相关文章:

PHP: array_diff - 删除一个值

c - 传递指针时内容错误

python - 获取gdb的python接口(interface)中的所有全局变量/局部变量

shell - gdb可以调试suid root程序吗?

c - 使用 gdb 调试 C 代码

c++ - 在 C++ 中将指针数组作为参数传递

Java - 我无法用字符串中的另一个字符替换字符 'Á'

python - 多次克隆一个 NumPy 数组

gdb - 如何将 gdb 调试一次限制为一个线程

string - assembly GDB 打印字符串