C\C++调试技巧
来源:互联网 发布:unity3d跳跃代码 编辑:程序博客网 时间:2024/06/06 05:08
转自:http://www.open-open.com/lib/view/open1347778870974.html
在调试代码时,有时会遇到报错的的函数是没问题,而是调用它的函数传入的参数是异常的,而又没法通过代码准确定位到具体调用的位置的情况,特别是对一些基础函数,往往会出现这种情况,因为工程中调用它们的地方太多,而且有时会漏掉返回值检测。这里给出一个快速找出调用者是谁的方法。
//filename: tt.h#include <stdio.h>int foo(int p);#define foo(_a) \ do { \ printf("[%s:%d]call foo()\n", __FUNCTION__, __LINE__); \ foo(_a); \ } while (0)
//filename: tt.c#include "tt.h"#ifdef foo#undef foo#endifint foo(int p){ printf("input = %d\n", p); return p;}
//filename: main.c#include "tt.h"int main(){ foo(1024); return 0;}
未定义#define foo(_a)宏时执行结果如下(将tt.h中定义foo的那段代码注释掉):
>> input = 1024定义了#define foo(_a)宏之后执行结果如下:
>> [main:5]call foo()>> input = 1024通过定义与函数一致的宏,调用的时候执行了修改了之后的代码,这样我们就可以在其中添加一些我们需要的信息,方便我们调试。
0 0
- c内存调试技巧
- C/C++ 调试技巧
- C\C++调试技巧
- c&c++内存调试技巧
- c/c++ 调试技巧小结
- C语言调试宏技巧
- C语言(调试技巧)
- 标准c语言调试技巧,打印调试信息技巧
- C编程中的四个调试小技巧
- C++&&调试技巧备份
- C&C++的内存调试技巧
- C/C++编程内存调试技巧
- linux终端下,调试c语言技巧
- eclipse的C程序调试技巧
- 调试 C 程序的奇淫技巧
- C语言开发 -- 调试技巧1
- C语言开发 -- 调试技巧2
- objective-c 编程的几个调试技巧
- 沁园春.长沙
- Ombrophobic Bovines POJ
- 【HTML5学习笔记】6:文档元素的使用
- jquery EasyUI的formatter格式化函数代码
- 第二章 如何学Linux
- C\C++调试技巧
- 通俗理解ZooKeeper是如何保证数据一致性的
- findbugs 的安装与使用
- imx6------watchdog导致不进系统
- 最全前端资源汇集
- 设计模式之观察者模式
- C++ 静态成员
- 页面浮动显示内容
- 正则REG原子符