if(c_RecvBuff[2] == 0x0F && c_RecvBuff[8] == 0x97) //拒绝帧应答(c_RecvBuff是接收缓存数组,sizeof为1024,每次接收前都会清零) {
cThread->c_TransmitData(cThread->flag,c_RecvBuff); //发送函数
}
else
{
Thread->c_sendExMassage(cThread->c_sendbuf);
}
这是线程函数中的一个语句,可是程序每次执行到if判断语句的时候,只要里面的条件满足,就跳出一个提示框:Micosoft(R) Developer Studio已停止工作,条件不满足的话,就会正常运行到else的地方。请问各位高手什么原因?为什么会在if地方程序不能运行呢?在做毕设,就要答辩了,出这个问题,也找不出原因。请高手指点迷津!
cThread->c_TransmitData(cThread->flag,c_RecvBuff); //发送函数
}
else
{
Thread->c_sendExMassage(cThread->c_sendbuf);
}
这是线程函数中的一个语句,可是程序每次执行到if判断语句的时候,只要里面的条件满足,就跳出一个提示框:Micosoft(R) Developer Studio已停止工作,条件不满足的话,就会正常运行到else的地方。请问各位高手什么原因?为什么会在if地方程序不能运行呢?在做毕设,就要答辩了,出这个问题,也找不出原因。请高手指点迷津!
是否对RecvBuff过度使用。
TransmitData本身存在异常。
自己debug跟踪,很快可以排除,
http://hi.baidu.com/ugene/blog/item/978575fb6c46b6d5b48f31d3.html
如果不是这种情况,那就是
cThread->c_TransmitData(cThread->flag,c_RecvBuff); //发送函数
这里出错,自己DEBUG一下,进c_TransmitData中看运行到哪出错,看c_RecvBuff值有没有问题,是不是访问越界,应该很快可以解决的
这里错了吧,指针有效?函数中也看一下,Debug调试