数据断点_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 数据断点

数据断点

 2013/10/21 23:20:03  allanxyq  博客园  我要评论(0)
  • 摘要:本篇博客是VisualStudio断点调试系列文章的一部分,示例中使用的代码availabletodownload。数据断点是当前C++开发者可以用的非常有用的特性。数据断点让你在一快指定的内存发生更改时停止执行。这可以在解决腐败问题方面非常有用的。下面展示一下这个特性。看看我们的代码,我们注意到PrintObject的结果是不正确的。它的结果是27,但是我们认为结果一定是32。调查这个问题,我们设置断点在PrintObject函数检查加法的值。当我们检查这个我们看到的pObj1->
  • 标签:数据

本篇博客是VisualStudio断点调试系列文章的一部分,示例中使用的代码available to download。

数据断点是当前C++开发者可以用的非常有用的特性。数据断点让你在一快指定的内存发生更改时停止执行。这可以在解决腐败问题方面非常有用的 。下面展示一下这个特性。看看我们的代码,我们注意到PrintObject 的结果是不正确的。它的结果是27,但是我们认为结果一定是32。

image

调查这个问题,我们设置断点在PrintObject 函数检查加法的值。

clip_image004

当我们检查这个我们看到的pObj1->getMyInt() 的值是5,但是他刚才在外面创建对象的时候是10。什么时候变的?我们可以设置一个数据断点找出他。这样做,首先我们将设置一个断点在对象的构造函数里获取m_myint的地址。

clip_image005

在这个断点上我们能看到值仍然是10。我们也能看到地址。下一步在断点窗口,我们点击New->New Data Breakpoint…

clip_image006

然后在弹出窗里,我们输入这个我们观察到的变量m_myint的地址。我们选择这个字节数是4,因为我们看的是int类型的。clip_image007

然后你能在Breakpoints window看到这个新的数据断点。

clip_image008

当我继续执行程序,我看倒下面对话窗口。

clip_image009

接着我被带到源代码处以便我看到m_myint 是在哪被修改的。

clip_image010

概要
在过去的这一周里,我发布了断点所有的种类,那些在Visual Studio里使用的有很帮助的断点。

我希望听到你的关于那些断点经验的反馈。你是怎么使用断点的呢?你喜欢其他的断点的哪些特性呢?请在下面评论告诉我,或者在MSDN forum和User Voice Site上。

上一篇: 三层的基本使用方法 下一篇: 没有下一篇了!
发表评论
用户名: 匿名