博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用VC数据断点让你避免很多烦忧(转)
阅读量:5026 次
发布时间:2019-06-12

本文共 894 字,大约阅读时间需要 2 分钟。

(转自)

 在一个大的项目里面,我经常都会感到良好编程风格的作用。有的时候一些Struct或者Public的Class的数据成员总是让我们感到困惑,因为我们有时候是很难监控到它们是什么时候被改变的,当代码很多很乱的时候,靠“人肉搜索”基本上是无法真正找到改变的代码的,有的时候莫名其妙的就被改掉了,这种行为和可能性都很容易出现的。如果有一组Get和Set的话,可以在这个函数里面设置一个断点就可以知道是什么时候被改变的了。

       这种时候大家可以尝试使用数据断点来处理。下面是使用数据断点的简易教程。

      首先我们创建一个简单的控制台空工程,加个源文件复制这些代码。

#include <string>

#include <fstream>
#include <iostream>

using namespace std;

class Test

{
public:
Test():TestData(100)
{
}
public:
int TestData;
};

void TestFunc1( Test& t1 )

{
t1.TestData = 101;
}

void TestFunc2( Test& t2 )

{
t2.TestData = 102;
}

int main(int argc, char *argv[])
{
Test tt;

TestFunc1(tt);

TestFunc2(tt);

return 0;

}
        现在我们要监控tt的TestData是什么时候被改变的。

1.因为数据断点总是要在某个断点触发的时候才能激活,因此我们先在TestFunc1的前面加上一个断点。

      2.F5调试,直到触发这个断点。然后在断点窗口中新建数据断点。

         3.这个时候我们可以把&tt.TestData设置进去,这将会取到它的地址。

       确定

           再按F5继续

     另外,还可以看到调用堆栈.

    

         PS,监视窗口里面的$err,hr可以监控到GetLastError的值。

转载于:https://www.cnblogs.com/winkyao/archive/2012/07/20/2601828.html

你可能感兴趣的文章
现代密码学:RSA算法
查看>>
Core Image 制作自己的美图秀秀
查看>>
每天一个随笔
查看>>
-------------------python博客目录:-------------------
查看>>
【CSS3】用i标签用作小图标
查看>>
ecshop 网站
查看>>
随机森林(Random Forest)
查看>>
SQL数据库约束
查看>>
当今世界最为经典的十大算法--投票进行时
查看>>
SpringMVC(十六) 处理模型数据之SessionAttributes
查看>>
阅读笔记01
查看>>
mysql设置有外键的主键自增及其他
查看>>
laravel常用函数大全Helper
查看>>
poj2299 Ultra-QuickSort
查看>>
第三部分shell编程3(shell脚本2)
查看>>
一个基于jQuery的移动端条件选择查询插件(原创)
查看>>
C# Winform 自适应
查看>>
IE阻止个别AC插件的原因及解决办法
查看>>
网络编程原始套接字
查看>>
Centos下源码安装git
查看>>