gpt4 book ai didi

arrays - 使用 gdb 时,如何在 Pascal 中打印数组中的部分值

转载 作者:行者123 更新时间:2023-12-03 19:42:18 25 4
gpt4 key购买 nike

我们知道,在C语言中,如果有一个数组

int data[100];

然后,在 gdb 中,我们可以通过键入以下内容将 data[4] 打印到 data[14]:

print *(data+4)@11

所以,问题是:当我们用 Pascal 语言编程时,我们可能有一个数组:

var
data: array[0..100] of Integer;

在gdb中调试时,如何打印data[4]到data[14]的值?

非常感谢。

最佳答案

当 gdb 的语言设置为 Pascal 时,没有办法做到这一点——没有人在 Pascal 表达式解析器中实现过这个扩展。

一种解决方法是打印数组的地址,然后暂时将语言切换为 C 并print *(type *)addr @ ...

另一种解决方法是编写一个新的 gdb 命令(使用 CLI 或使用 Python)来执行您喜欢的操作。或者,如果您正在进行大量 Pascal 调试,则可以在 gdb 中实现此扩展——这并不难。

关于arrays - 使用 gdb 时,如何在 Pascal 中打印数组中的部分值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48040938/

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