2009-6-13,5/27/2010
来源:互联网 发布:淘宝客用手机可以做吗 编辑:程序博客网 时间:2024/06/05 16:57
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数据的
功能,但是用起来还是有很多限制,比如接口难用,需要工具支持,不能定制……
由此看来,开发一个变量调试模块是很有必要的……
现在来分析一下我们需要什么:
动态查看、修改变量值
保存最后修改的变量值到文件,供以后加载或者分析
及时暂停被调试的对象的执行,开启调试变量窗口,调试完后及时恢复执行
模块要简单高效
有一些可以考虑的地方:
既然本模块可以加载变量,那么是否可以把加载任何数据的功能也集成进来,或者序列化?
- 2009-6-13,5/27/2010
- 2009-6-27 毕业了
- 2010-6-13 力量训练
- 2009-6-26,3/26/2010
- 2009年6月5日 星期五 阴历:5月13日 我的 23岁生日
- 6/26/2011 7:27:13 PM
- 6/13/2009 Words of the Day
- 北邮计科院导师简况2009-09-27 14:13:38
- "ZUMA"(COCI#2009-2010#contest 5)
- DHC log 2009-5-5 6 7
- 4/6/2010,5/7/2010
- 5/17/2010,6/12/2010
- 性能调优2009-5-6
- 2009年5月6日
- 2009-2010
- 2009 -> 2010
- 2009&2010
- 今天是2010年6月27日
- Eclipse统计代码行数
- 解决啦!
- 123
- 1数据库管理系统概论
- 在Google Map的地图轨迹上添加箭头
- 2009-6-13,5/27/2010
- 2009-11-25,2009-6-14
- 迷茫的女生
- Squirrel 文档翻译(Execution Context)
- PHP在Apache中两种工作方式的区别(CGI模式、Apache 模块DLL)
- c++编译器和连接器介绍
- 文件的打开方式
- poj 3278 Catch That Cow(第一道广搜题,(*^__^*) 嘻嘻……)
- 2009-6-23,