visualstudio2010-vs2010c++通过调试查看指针内容

visual studio 2010 - vs2010 c++ view pointers content by debug

本文关键字:指针 调试 visualstudio2010-vs2010c++      更新时间:2023-10-16

我在Vs2010c++中使用2D数组。我从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指针。

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

还有其他选择吗?

我不喜欢使用矢量。

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

当你右键点击内存查看器时,你可以选择如何查看数据(作为ANSI,作为4个整数,作为2字节整数,作为浮点,bla-bla…)

此外,您还可以在调试时使用Watch窗口。只需将指针用作数组(例如,如果指针是char * t,语法t[0]将为指针t所指向的数据提供

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