如何进行C语言的调试!

2018-05-15  本文已影响4人  这个夏天卟太热

在调试代码时,有时会遇到报错的的函数是没问题,而是调用它的函数传入的参数是异常的,而又没法通过代码准确定位到具体调用的位置的情况,特别是对一些基础函数,往往会出现这种情况,因为工程中调用它们的地方太多,而且有时会漏掉返回值检测。这里给出一个快速找出调用者是谁的方法。

想要一起学习C语言C++可以加群666+295+498邀请码(夏热),群里有大量学习资源

//filename: tt.h//filename: tt.c//filename: main.c

未定义#define foo(_a)宏时执行结果如下(将tt.h中定义foo的那段代码注释掉):

$ cc main.c tt.c

定义了#define foo(_a)宏之后执行结果如下:

$ cc main.c tt.c

通过定义与函数一致的宏,调用的时候执行了修改了之后的代码,这样我们就可以在其中添加一些我们需要的信息,方便我们调试。

文末奉上炸弹人得部分代码(喜欢得可以@小编呦)

/{}AFX_DATA_INIT

// TODO: add construction code here

m_bStart=false; // 游戏未开始

m_nTypeMode=1; // 默认的游戏模式类型

m_bBG=true; // 默认背景单项滚动

m_nBG=0; // 默认选中的背景为0

m_nMonster=5; // 初始怪物数量为5

m_nScore=-1; // 分数,初始为-1

m_nPass=-1; // 通关数,初始为-1

m_nMud=30; // 泥墙数量,初始为30

}

上一篇下一篇

猜你喜欢

热点阅读