程序运行后的BUG??几天了。无头绪,谢谢!!!
弹出错误窗口
:
debug assertion failed!
for inforation on how your program can cause an assertion failure,see the visual c++ documentation on asserts.
望着它。。不知道怎么办。。程序可以运行啊
部分代码:
if (a==3)
{
check=m_strRXData.GetAt(25);
if (check=='0')
{;}
else
{b=0;a=1;
AfxMessageBox("失败");}
}
else
{;}
请有经验的大侠帮帮我。
qq:68265018
问题点数:100、回复次数:12Top
1 楼keiy()回复于 2005-06-01 00:43:28 得分 10
看看专家说的:
http://www.china-askpro.com/msg47/qa17.shtml
Top
2 楼daienming(键盘上的蛤蟆)回复于 2005-06-01 00:58:58 得分 0
我估计是strRXData 这个里的数据出错了~~具体报错的时候停在哪一句上??如果你是多线程的话,看看其他的线程操作的数据~Top
3 楼xtjqu(LPVOID)回复于 2005-06-01 01:50:46 得分 10
m_strRXData.GetLength()返回多少,有25这么大吗?Top
4 楼yelu001(鬼兵)回复于 2005-06-01 02:43:20 得分 0
恩。我加了一段代码
int llen=m_strRXData.getlenth()
if (llen>25)
{check=m_strRXData.GetAt(25);
if (check=='0')
{;}
else
{b=0;a=1;
AfxMessageBox("失败");}
}
else
{;}
程序能执行
但现在又有问题了
程序单步能执行这段代码
但ctrl+f5全速执行就好象省去了这段代码
单步调试又不能继续下去,郁闷啊!!!!Top
5 楼xtjqu(LPVOID)回复于 2005-06-01 10:20:25 得分 10
这个问题有趣有趣
project setting里面定义的运行文件和DEBUG文件是一样的吗
不行就删掉DEBUG和RELEASE目录,看看是怎么回事Top
6 楼handwolf(青松崖)回复于 2005-06-01 10:41:55 得分 10
改了之后还有debug assert问题吗?
如果还有,那是其他代码的问题Top
7 楼yelu001(鬼兵)回复于 2005-06-01 12:58:48 得分 0
改了之后没有assert问题了
project setting里面的设置没有改动
单步没有全部运行完。到AfxMessageBox("失败")就终止了。能跳出警告对话框。
但全速执行就没有跳出警告对话框。就好象没有执行AfxMessageBox("失败")这一步一样。
不知道有人遇到过这样的问题吗。好郁闷啊!!Top
8 楼idAnts(此广告位招租)回复于 2005-06-01 13:03:50 得分 10
strRXData的长度不足25会弹出debug assertion failedTop
9 楼zhaohua0317(小毛咪咪眼)回复于 2005-06-01 13:04:02 得分 10
顶!!
关注Top
10 楼wanshi_53(幻相)回复于 2005-06-01 13:18:11 得分 30
我调试了一下
你看看
CString m_strRXData ="dfafdasf";
char check;
int b = 0;
int a = 0;
int llen=m_strRXData.GetLength();
if (llen>5)
{
check=m_strRXData.GetAt(5);
if (check=='0')
{
;
}
else
{
b=0;
a=1;
AfxMessageBox("失败");
}
}
else
{
;
}Top
11 楼yelu001(鬼兵)回复于 2005-06-01 13:35:47 得分 0
弹出错误窗口
:
debug assertion failed!
for inforation on how your program can cause an assertion failure,see the visual c++ documentation on asserts.
望着它。。不知道怎么办。。程序可以运行啊
部分代码:
if (a==3)
{
check=m_strRXData.GetAt(25);
if (check=='0')
{;}
else
{b=0;a=1;
AfxMessageBox("失败");}
}
else
{;}
请有经验的大侠帮帮我。
qq:68265018
回复人: yelu001(鬼兵) ( ) 信誉:100 2005-06-01 02:43:00 得分: 0
恩。我加了一段代码
int llen=m_strRXData.getlenth()
if (llen>25)
{check=m_strRXData.GetAt(25);
if (check=='0')
{;}
else
{b=0;a=1;
AfxMessageBox("失败");}
}
else
{;}
程序能执行
但现在又有问题了
程序单步能执行这段代码
但ctrl+f5全速执行就好象省去了这段代码
单步调试又不能继续下去,郁闷啊!!!!
回复人: yelu001(鬼兵) ( ) 信誉:100 2005-06-01 12:58:00 得分: 0
改了之后没有assert问题了
project setting里面的设置没有改动
单步没有全部运行完。到AfxMessageBox("失败")就终止了。能跳出警告对话框。
但全速执行就没有跳出警告对话框。就好象没有执行AfxMessageBox("失败")这一步一样。
不知道有人遇到过这样的问题吗。好郁闷啊!!
谢谢关注!!~~~~~
Top
12 楼KevinWon(Kevin)回复于 2005-06-01 16:44:27 得分 10
建议你用F11来单步 然后看看是哪里出问题了 如果m_长度不足25的话 在debug和release模式好像都是不能通过编译的Top




