debug版程序运行正常,release版程序运行出错

1. 检查是否有变量没有初始化,尤其是重要的控制变量。
 debug会对程序中没有初始化的局部变量进行初始化(全局变量在两种版本中都会被初始化),而release不会,因此release版中没有初始化的变量的值运行时是不确定的。而debug版中没有初始化的整型会被初始化为0,指针也会被初始化为0,也就是空指针。这样就可以避免很多错误,或者使得错误的出现有规律,便于查错。

2. 定位release版本错误之处
逐个函数错误查找,依次在函数后面加入printf(“pass”)的信息,如果通过,则这个函数没问题,如果未通过,则仔细检查该函数,错误就出在此函数。

你可能感兴趣的:(C&C++)