当前位置:软件学习 > 其它软件 >>

MQ V6 6.0.2.5/V6 6.0.2.4/V5.3 csd14 调用 MQCONNX() 的bug?

我发现一个奇怪的现象


我以前的程序,在MQ V6.0.2.2 and V5.3 csd07/csd08/csd12都跑的好好的,

但是用了MQ V6 6.0.2.5/V6 6.0.2.4/V5.3 csd14 之后,执行 MQCONNX ,而且我的机器不接网线的时候,
就会出现错误,在VS2005下
HEAP: Free Heap block 5079c70 modified at 507a318 after it was freed

我觉得这个一个mq补丁的bug,为了证实这一点,我把代码进行了简化,挑出了最关键的几句,直接放在一个全新的空的project中,

MQCNO cno={MQCNO_DEFAULT};
MQCD cd={MQCD_CLIENT_CONN_DEFAULT};
strcpy(cd.ConnectionName,myserverip);
strcpy(cd.ChannelName,"S_MyChannel");

cno.ClientConnPtr=&cd;
cno.Version=MQCNO_VERSION_2;

strcpy(ch,"QM_MyQm");
MQCONNX(ch,&cno,&Hconn,&CompCode,&Reason);

现象依旧.

如果可行的话,请各位专家帮我提给ibm吧,我不知道怎么才能report这个bug.
--------------------编程问答-------------------- 帮你试一下:) --------------------编程问答-------------------- 多谢了.

另外,我又测试了一下cpp的方式,问题也一样存在.就这么几行代码

ImqQueueManager QManager;  
ImqChannel QChannel;  
 
 QManager.setName("QM_Test");
 QChannel.setChannelName("S_Test");
// QChannel.setHeartBeatInterval(30);
 QChannel.setTransportType(MQXPT_TCP);
 QChannel.setConnectionName("10.10.10.1");
 QManager.setChannelReference(QChannel);
 
 if(QManager.connect()==FALSE)
 {
  AfxMessageBox("connect fail");
 }
 else
 {
 }
 QManager.setChannelReference();


在vs2005下,不插网线,用f5方式指令,一定会出报程序异常.(第一次可能不出,我的机器是第二次出)
MQ V6 6.0.2.5
--------------------编程问答-------------------- 好的。
补充:企业软件 ,  WebSphere
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,