环境:winxp, QT Creator 2.0,QT 4.7 /Nokia Qt SDK 1.0 (针对S60 V5手机开发)
程序中采用QNetworkAccessManager处理请求,代码段如下:
...
manager = new QNetworkAccessManager(this); //新建QNetworkAccessManager对象
manager->setProxy(QNetworkProxy::NoProxy);
connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*)));
ui->lbl_msg->setText(codec->toUnicode("登录中,请稍候..."));
manager->get(QNetworkRequest(QUrl(url+"/LoginHandler.aspx?Action=login&LoginName="+loginname+"&Pwd="+pwd+""))); //发送请求
现象描述:
1)代码在模拟器上运行正常。
2)连接到真机(nokia 5235)上,若将真机上的默认连接方式设置为(询问一次),则在真机上调试是正常的,但每次网络连接之前都会出现接入点选择框,我选择互联网接入点(联通3gnet),运行是正常的。
3)若在真机上设置了默认连接(在承载方式下设置,默认连接为为互联网(联通3gnet)),程序在执行manager->get...时,会导致真机自动重启。QT Creator中debug跟踪提示的异常是在finished retrieving data时出现disassembler failed:cannot access memory at address 0x801d2da0,然后就stopped:"signal-received"。
不知道这个错误的原因是什么?奇怪的是,在上面的2)中手工选择了网络接入点时是完全正常的,而在3)中设置了默认连接时(不询问,不弹接入点选择框),却又出现异常。
请大家帮忙分析一下,感谢!
附.pro文件:
..
CONFIG += mobility
MOBILITY = bearer
symbian {
debug{
MMP_RULES -= PAGED
MMP_RULES += UNPAGED
}
TARGET.UID3 = 0xee36a05a
TARGET.CAPABILITY += NetworkServices ReadUserData
TARGET.EPOCSTACKSIZE = 0x14000
TARGET.EPOCHEAPSIZE = 0x020000 0x800000
}