博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  调试技巧

摘要:内存泄漏是编程中常常见到的一个问题,我所遇过的原因有两个: 1.分配完内存后忘记回收2.代码有问题,造成想回收却无法回收,例如:int*p=newint;p=newint;//p指针修改,原来申请内存的地址没有记录下来,于是无法释放下面介绍如何检查内存泄漏:1.包含头文件和定义#define_CRTDBG_MAP_ALLOC//并非绝对需要该语句,但如果有该语句,打印出来的是文件名和行数等更加直观... 阅读全文

posted @ 2009-09-28 10:02 RUI2021 阅读(649) 评论(2) 推荐(0)

摘要:我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:class CMyApp : public CWinApp{public: BOOL InitApplication() { int* leak = new int[10]; return TRUE; }};产生的内存泄漏报告大体如下:Detected memory leaks!Dumping objects... 阅读全文

posted @ 2009-09-27 15:48 RUI2021 阅读(722) 评论(0) 推荐(0)

摘要:记得我刚开始用VC编程时,多次遇到程序编译链接都没有任何错误提示时运行却发生意外错误或者陷入死机状态,对此我真是茫然不知所措。后来经过项目工程的“洗礼”,我学到了一些解决这类错误的方法同时也将自己积累的经验运用到开发工作中,从而避免了重蹈覆辙,编程效率得以明显提高。如果你用VC而不精通解决上述种种莫名其妙故障的调试技术,那么软件的进度和质量将无法保障。VC调试之重要不言而喻... 阅读全文

posted @ 2009-09-05 10:44 RUI2021 阅读(2061) 评论(0) 推荐(0)

摘要:1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号 <>)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。 2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上... 阅读全文

posted @ 2009-09-05 10:43 RUI2021 阅读(491) 评论(0) 推荐(0)