程序常见严重Bug (程序稳定性)

程序常见严重Bug(程序稳定性)

(技术研发中心整理)

1、 死循环

int pos = RandomInt(qc->qacount);

if(MenuItem[pos].size() != 0)

{

pos = (pos+1) %(qc->qacount);

while(MenuItem[pos].size() != 0)

pos = (pos+1) %(qc->qacount);

}

原因:while循环在特殊逻辑下无法退出。

for(int i = 0; i < n; i ++)

{

.....

i --;

.....

}

原因:循环控制变量i出现了自减,导致死循环。

2、 数组越界保护

int GetVectorData(int index)

{

if(index < 0 || index >= m_DataVct.size())

return 0;

return m_DataVct[index];

}

原因:在没有判断(index < 0 || index >= m_DataVct.size())的情况下,数组m_DataVct[index]可能会越界访问。

程序常见严重Bug (程序稳定性)相关文档

最新文档

返回顶部