简单调试技术
来源:互联网 发布:linux gcc 4.8.5 编辑:程序博客网 时间:2024/06/09 21:22
很长时间没写东西了,光看不写,玩的多学的少~恶习渐渐形成。大概浏览了一本叫C++调试指南的书,很薄很了几个感觉很实用得调试方法,在此总结下。调试技术分为两块基本,一部分为tracing(跟踪技术),一部分为debugger(调试器技术)。跟踪分为基本跟踪(basic tracing)和扩展跟踪(extended tracing)。基本跟踪就是用简单的cout语句跟踪变量值的变化。扩展跟踪涉及到标记(flag)和函数调用(function call)的使用,有了他们跟踪功能可以方便的打开和关闭,而且需要编写和插入到程序中的代码量会减少。下面就常见的方法分开总结:
1.使用bool变量来打开和关闭跟踪。记得有的建议用宏定义,感觉差不多,生成的可执行文件大小小一点,效率可能高一点。
例如:
bool trace_on = true;
...
if(trace_on)
{
cout<<end<<"Location 1"<<endl
<<"Value is: "<<value<<endl;
}
...
2.如果if中的变量值很多,那么可以写成一个函数的形式
if(trace_on)
{
trace_display();
}
void trace_display(int location, int value1...);//location 可以为行号,用来标注位置
3.使用assert函数
以前经常使用,但是不知道有一个快捷的方法关闭,就是在assert的头文件加上一行代码就可以了,如下
#define NDEBUE
#include <assert.h>
这样以后的assert宏就不被执行,对于经常修改的大型程序,这种方法非常方便。
- 简单内存调试技术
- 简单调试技术
- 调试技术
- 调试技术
- 调试技术
- 调试技术
- 调试技术
- 调试技术
- 调试技术
- 黑客调试技术揭秘(Hacker Debugging Uncovered) 学习(1) 最简单的密码保护破解
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(3)-调试手段和方法
- 掌握 Linux 调试技术
- 掌握 Linux 调试技术
- C++ Builder调试技术
- 掌握 Linux 调试技术
- VC程序调试技术
- 掌握 Linux 调试技术
- ASP调试技术
- deletedc和releasedc
- 《Android系统学习》第七章:Android4.0.1在ubuntu12.04编译的一个问题
- 常用的宽字符函数
- 建立有效IT治理的策略和方法
- 《编程珠玑》--第二章 啊哈!算法
- 简单调试技术
- 成员函数指针作为参数传递给其他函数和普通函数指针的传递
- Activity与Intent
- linux下纯C md5
- DEDECMS 自定义调出图片大小
- Java格式化数字
- 程序员的本质
- 终极解决方案 at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22) 报空指针
- 使用OpenOffice提供的接口函数将WORD转换成PDF