读书人

debug下出现的异常的信息

发布时间: 2012-03-21 13:33:15 作者: rapoo

debug下出现的错误的信息
在debug一个系统后,
系统用release版本可以运行
在debug下,编译、链接也没有问题
就是最后运行时出现了如下错误信息:

Debug Assertion Failed! //是assert语句没有通过?
Program: E:\..\...\Lm.exe//路径省略了。
File: afx.inl //什么意思?
Line:177
没碰到错这种情况
望指教

[解决办法]
既然是DEBUG版本,你就可以插断点,跟踪一下afx.inl 的177行的assert 断言,你自己试一试。
[解决办法]
记得好像是assert语句只有在debug下才有作用,放在release里被忽略掉了.

所以我估计是你的assert写的有问题才导致在debug下不行,而在release下可行(因为被忽略了)

看一下assert那里的写法吧,是不是有问题
[解决办法]
afx.inl 是 VC++的文件
_AFX_INLINE TCHAR CString::operator[](int nIndex) const
{
// same as GetAt
ASSERT(nIndex > = 0);
ASSERT(nIndex < GetData()-> nDataLength);
return m_pchData[nIndex];
}

L177 是:
ASSERT(nIndex < GetData()-> nDataLength);

估计你的程序在操作字符串(CString)时下标越界了!
好好查一查吧!应该很容易的!
[解决办法]
F5就直接会跳到那了不是..

读书人网 >C++

热点推荐