2009-6-13,5/27/2010

27 篇文章 0 订阅
24 篇文章 0 订阅

4:50 PM 5/27/2010
内存泄露检测:

在第a次申请内存是中断
1 (w)mainCRTStartup打断点
2 watch窗口,{,,msvcr90d.dll}_crtBreakAlloc的值改为a
3 运行程序

退出程序时报告泄露
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
static int g_enableCrtMemCheck = _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);

申请内存时记录文件和行号
#ifdef _DEBUG
#   define New new(_NORMAL_BLOCK,__FILE__,__LINE__)
#else
#   define New new
#endif
以后用New代替new


5:56 PM 4/29/2010
如果没有单元测试,头脑中虚拟一下吧,在虚拟的过程中检查你的代码

10:36 AM 3/15/2010
单元测试
    单元测试可以提高测试效率:
        把模块划分的够小的话,编译时间减少了,单元测试的速度就快了。
    更安全的测试方法:
        单元测试比我们一般的直接跑整个程序来做测试的有点是,安全,快捷,覆盖广,等

 

2009-6-13

大型程序中存在很多需要调整的状态变量,如果能够快速修改这些变量并看到修改后的效果
,将会大大节约时间。

目前的调试器都可以动态修改内存,所以尽量将数据用变量存储而不是用常量,对于调试是
很有帮助的。

如果有需要保存调试后的数据,那么仅靠调试器就很难办了。虽然有的调试器有dump数据的
功能,但是用起来还是有很多限制,比如接口难用,需要工具支持,不能定制……

由此看来,开发一个变量调试模块是很有必要的……

现在来分析一下我们需要什么:
动态查看、修改变量值
保存最后修改的变量值到文件,供以后加载或者分析
及时暂停被调试的对象的执行,开启调试变量窗口,调试完后及时恢复执行
模块要简单高效

有一些可以考虑的地方:
既然本模块可以加载变量,那么是否可以把加载任何数据的功能也集成进来,或者序列化?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值