如何在eclipse中使用监视窗口添加表达式以查看内存范围?

时间:2011-05-29 06:07:40

标签: c eclipse-cdt

mysql具有以下代码:
表 - >文件 - > ha_write_row(表 - >记录[0]))

其中table-> record [0]是一个缓冲区,其大小由另一个变量reclength确定。现在我知道了reclength,看到它是203.我希望看到值(table-> record [0])[0..202],这意味着从第一个字节到最后一个字节。如果我只是把(table-> record [0])放在手表中,它只显示几个字符,因为table-> record [0]里面有很多0,说它可能像“xxx \\ 0 \\ 0 \\ 0yyy ...“,在这种情况下,eclipse只在观察窗口中显示”xxx“,因为它认为”xxx \ 0“是以”\\ 0“结尾的完整字符串,但实际上我想看到更多缓冲值。所以我在手表中使用了(table-> record [0])[i],我是0,1,2 ......,但这很无聊,有没有什么好方法可以看到它们?

1 个答案:

答案 0 :(得分:3)

使用gdb语法打印数组值,对于指针p指向其第一个元素的数组,请使用:

p@100

要查看前100个元素。在您的情况下,请将观看表达式(左键单击 - > Edit Watch Expression)编辑为:

table->record@100

你没有提到table->record的类型---我假设它拥有指针(而不是指向指针的指针)。

顺便说一句,您可以将指针转换为任何数据类型,就像在gdb控制台中一样。