GDB打印命令显示12位十六进制值

时间:2014-10-30 03:04:16

标签: c++ ubuntu gdb

我在VirtualBox上安装了Ubuntu,我正在终端中尝试为我的一个任务调试程序。在数组上使用print命令时,它给出了一个12位十六进制值,如0x7fffffffdea4。我正在调试的代码是用C ++编写的

#include <iostream>
using namespace std;

int main() {
    int i, x[5];
    int *ptr_x;

    cout << "Enter 5 integers";
    for (i=0;i<5;i++) {
        cin >> *ptr_x;
        ptr_x++;
    }
}

当我使用print &x[0]时,我会得到一个12位十六进制值。我应该使用x/x来显示内存地址的内容,但它说我无法访问它。是否有我忘记设置的设置,因为我认为我应该得到一个8位十六进制值而不是12位十六进制值。

打印阵列中的后续元素只会更改最后4位数字,所以我认为前几位数可能是填充符号?这是怎么回事?

0 个答案:

没有答案