某天, 发现一个bug, 会导致release版本下异常, 但在debug版本下正常, 可以定位该bug在下面代码中:
void CMoveHandlerStateDraw::OnLButtonUp(UINT nFlags, CPoint point)
{
AdjustPoint(point);
m_pHandler->Drop(point, m_ptHandlerPos);
}
但是,一旦往这个函数中插入用来dump数据的代码, bug就不再出现, 不论是将数据写到文件还是显示在messagebox上。
启用release版本的"Debug Information", bug也不再出现。
就算只是在
该函数中声明一个CString变量, 这个狡猾的bug似乎马上就知道,马上就藏起来, 把这个变量一去掉, 它马上又跑出来了。
但后来发现, 这只是一只很普通的bug,根本没什么超能力。
聪明的你,知道这是为什么吗?