vs2010 c ++通过debug查看指针内容

时间:2013-02-13 16:04:33

标签: c++ visual-studio-2010

我正在使用2D阵列的Vs2010 c ++工作。 我从1D指针开始,使用[]操作[],如下所示:

class CMatrix
{
    void clear();
public:
    int nRows;
    int nCols;
    short * MyMat;

    CMatrix();
    CMatrix(int r,int c);
    ~CMatrix(void);

    void SetMatrix(int r,int c);
    short * operator[] (const int row)
    {
        return MyMat + (row*nCols);
    }
};

我不介意改为2D指针。

然而我的问题是调试。因为我正在使用指针,所以无法看到数组内容。

还有其他选择吗?

我不想使用矢量。

2 个答案:

答案 0 :(得分:11)

一种方法是使用Memory查看器。 在调试时(在断点处停止时),转到菜单调试> Windows > 记忆> 内存1 以获取内存查看器。然后键入内存地址(复制粘贴指针中的值),以便可以查看程序内存区域周围的内存。

右键单击内存查看器时,您可以选择查看数据的方式(如ANSI,4个整数,2个整数,浮点数,bla bla ...)

您也可以在调试时使用Watch窗口。只需将指针用作数组(例如,如果指针为char * t,则语法t[0]将指针指向t

答案 1 :(得分:8)

在QuickWatch窗口中,您可以键入指针变量的名称,后跟逗号和要查看的数组索引的数量,例如MyMat, 10