bad*_*die 5 c++ stl breakpoints vector visual-c++
我有一个空的向量,有些东西填充它,我找不到它.我想设置一个内存断点,以便在发生push_back时程序将中断.
我正在使用Visual Studio 2008,问题是向量在监视窗口中没有显示其内部成员(它似乎有自定义格式).它看起来像这样:
myVector [0]()std :: vector <int,std :: allocator <int >>
指示大小0.任何提示?
这个答案适用于VS 2010 - 其他版本的细节可能有所不同.
由于调试器使用数据可视化器(或其任何名称)来显示a的状态std::vector,因此您必须查看<vector>标题以确定类的实际成员的名称以及可能负责跟踪的类.元素数量.一个简单的方法是逐步调用vector::push_back().
在VC++ 2010中,这是一个名为的成员指针_Mylast.
因此,您所要做的就是在写入时设置数据断点&v._Mylast(v您希望调试的向量在哪里).
下一次添加元素时,调试器将中断调用堆栈,显示确切的位置.