当前位置:编程学习 > wap >>

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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,