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

Ami*_*ATA 4 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);
    }
};
Run Code Online (Sandbox Code Playgroud)

我不介意改为2D指针.

但是我的问题是调试.因为我使用指针,所以无法看到数组内容.

还有其他选择吗?

我不喜欢使用矢量.

Dea*_*pog 11

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

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

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


Ope*_*tle 8

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