出现这种情况:Debug下正常,Release下崩溃,函数调用时候参数值变了(a函数调用b函数,参数在a中是正确的,在b中编程null或者另外地址了)
那么这种情况很可能就是栈溢出了, 注意a函数中是否有很长的递归, 或者循环, 而循环中新Create的变量没有及时释放呢?
我遇到过一种情况,使用CoreFoundation.dll导出的函数, 凡是函数中有Create关键字的,都得释放掉返回的变量(使用CFRelease())
但是因为不熟悉,所以忘记了释放,导致Release版本程序老是崩溃,幸好崩溃地点是确定的。