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
作为类的成员变量试试。
[解决办法]