本篇博客是VisualStudio断点调试系列文章的一部分,示例中使用的代码available to download。html
数据断点是当前C++开发者能够用的很是有用的特性。数据断点让你在一快指定的内存发生更改时中止执行。这能够在解决腐败问题方面很是有用的 。下面展现一下这个特性。看看咱们的代码,咱们注意到PrintObject 的结果是不正确的。它的结果是27,可是咱们认为结果必定是32。web
调查这个问题,咱们设置断点在PrintObject 函数检查加法的值。api
当咱们检查这个咱们看到的pObj1->getMyInt() 的值是5,可是他刚才在外面建立对象的时候是10。何时变的?咱们能够设置一个数据断点找出他。这样作,首先咱们将设置一个断点在对象的构造函数里获取m_myint的地址。函数
在这个断点上咱们能看到值仍然是10。咱们也能看到地址。下一步在断点窗口,咱们点击New->New Data Breakpoint…post
而后在弹出窗里,咱们输入这个咱们观察到的变量m_myint的地址。咱们选择这个字节数是4,由于咱们看的是int类型的。debug
而后你能在Breakpoints window看到这个新的数据断点。调试
当我继续执行程序,我看倒下面对话窗口。component
接着我被带到源代码处以便我看到m_myint 是在哪被修改的。server
我但愿听到你的关于那些断点经验的反馈。你是怎么使用断点的呢?你喜欢其余的断点的哪些特性呢?请在下面评论告诉我,或者在MSDN forum和User Voice Site上。htm