Release下,QtXml库异常崩溃
bool parseXML(const QString &xmlfile, QDomDocument &qdomdoc)
{
if (xmlfile.isEmpty())
return false;
QFile file( xmlfile );
if (!file.open(QFile::ReadOnly | QFile::Text))
{
// printf( "open file '%s' failed, error: %s !\n", filename, file.errorString().toStdString().c_str() );
return false;
}
qDebug() << "111";
QString strError;
int errLin = 0, errCol = 0;
if (!qdomdoc.setContent(&file, &strError, &errLin, &errCol))
{
//errorstr= QString("parse file failed at line %1 column %2, error: %3 !").arg(errLin).arg(errCol).arg(strError) ;
qDebug() << QString("parse file failed at line");
return false;
}
file.close();
qDebug() << "222";
if (qdomdoc.isNull())
{
// printf( "document is null !\n" );
return false;
}
qDebug() << "333";
return true;
}
上面的代码,在DEBUG下运行正常,在RELEASE下,运行到if (!qdomdoc.setContent(&file, &strError, &errLin, &errCol))这里时崩溃,又没有大神知道原因啦 QT QTXML --------------------编程问答-------------------- 居然没人回复,难道只有我遇到过这个问题么。在线等啊,大神们。 --------------------编程问答-------------------- 终于解决了,原因是QXmlInputSource的析构函数执行是会崩溃,因此QXmlInputSource的对象一直不能被释放,释放程序就会异常,不知道是不是QT的BUG呢?
补充:移动开发 , Qt