当前位置: 代码迷 >> QT开发 >> QT XML解析异常
  详细解决方案

QT XML解析异常

热度:84   发布时间:2016-04-25 04:51:55.0
QT XML解析错误
我单写的程序 用QT DOM方式解析没错误
但是把程序整合到一套大程序中得时候 老是运行出错
Debgug Assertion Failed!

Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse);


这应该是说我重复删除了某些空间
函数如下:
int CFaultModelXML::IniProTree(char *szFileName)
{
if(szFileName == NULL)
{
return -1;
}

QFile xmlFile( QObject::tr(szFileName) );
if ( !xmlFile.open( QIODevice::ReadOnly ) ) 
{
  ...
}
QDomDocument domTree;
if ( !domTree.setContent( &xmlFile ) ) 
{
  ...
}
xmlFile.close();

//得到顶级节点信息

QDomElement root = domTree.documentElement();
//分析节点信息

parseProTreeXML(root);
return 1;
}

跟踪了一下,在return 1的时候,会调用几次static inline void cleanup(T *pointer);
然后在这里报错。
如果我把domTree.setContent 这个注释掉,没有问题,但是注释掉之后就不能解析XML文件了。
有谁知道怎么解决么,感谢

------解决方案--------------------
查一查释放相关资源和析构函数吧
------解决方案--------------------
看看是不是有重复析构或者野指针
------解决方案--------------------
建议把 
QDomDocument domTree;
QDomElement root 

作为类的成员变量试试。
------解决方案--------------------
探讨

建议把
QDomDocument domTree;
QDomElement root

作为类的成员变量试试。
  相关解决方案