Visual Studio的C++调试 - 关于矢量大小变化的观察点

Nar*_*rek 3 c++ debugging size vector visual-studio

我想用我的矢量探索变化.因此,我想在矢量大小上设置一个关键点.因此,Visual Studio将让我在每次更改尺寸后查看矢量中的内容.我怎么能这样做?

在此链接中,您可以找到如何设置条件断点.我尝试设置这样的条件:Has changed事件上的my_vect.size()变量(根据8.条件断点),但它很糟糕.

Mar*_*ila 10

my_vect.size()不是变量,而是函数.它看起来像这样:

size_type size() const _NOEXCEPT
    {   // return length of sequence
    return (this->_Mylast - this->_Myfirst);
    }
Run Code Online (Sandbox Code Playgroud)

所以这是解决方案:使用调试器启动程序.在矢量大小改变之前中断.添加新数据断点.假设您的向量被调用myvec.然后在地址字段中&myvec._Mylast分别放入&myvec._Mylast.现在,只要指向向量中第一个或最后一个元素的指针发生变化,调试器就会停止.

  • 您希望收到有关尺寸更改的通知.当然,重新分配会触发休息时间 (2认同)