Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual studio 2008“;“调试断言失败”;调用QdomeElement::text()函数时显示的消息_C++_Visual Studio 2008_Qt_Qtxml - Fatal编程技术网

C++ Visual studio 2008“;“调试断言失败”;调用QdomeElement::text()函数时显示的消息

C++ Visual studio 2008“;“调试断言失败”;调用QdomeElement::text()函数时显示的消息,c++,visual-studio-2008,qt,qtxml,C++,Visual Studio 2008,Qt,Qtxml,我已经包括了源代码、错误和堆栈跟踪。我如何解决这个问题?我需要关于如何进行这方面的指导(解释) 源代码: QFile xmlInputFile(".\\gatewayipmonitor.xml"); xmlInputFile.open(QIODevice::ReadOnly); QByteArray xmlData(xmlInputFile.readAll()); QDomDocument doc; doc.setContent(xmlData); QDomElement docEl(

我已经包括了源代码、错误和堆栈跟踪。我如何解决这个问题?我需要关于如何进行这方面的指导(解释)

源代码:

QFile xmlInputFile(".\\gatewayipmonitor.xml");  
xmlInputFile.open(QIODevice::ReadOnly);

QByteArray xmlData(xmlInputFile.readAll());

QDomDocument doc;
doc.setContent(xmlData);

QDomElement docEl(doc.documentElement());
const QString tagName(docEl.tagName());

docEl.text();
当最后一行被执行时,我得到消息

Windows已在tests.exe中触发断点

这可能是由于堆损坏,这表明堆中存在错误 tests.exe或它加载的任何DLL

这也可能是由于用户在tests.exe运行时按F12造成的 专注

输出窗口可能有更多诊断信息。 "

当我单击“继续”-我进一步得到消息-

程序:…n\tests\Release\tests.exe文件: f:\dd\vctools\crt\u bld\self\u x86\crt\dbgheap.c

表达式:_CrtIdValidHeapPointer(pUserData)

堆栈跟踪:

msvcr90d.dll!_free_dbg_nolock(void * pUserData=0x00a5f348, int nBlockUse=1)  Line 1317 + 0x30 bytes C++
msvcr90d.dll!_free_dbg(void * pUserData=0x00a5f348, int nBlockUse=1)  Line 1258 + 0xd bytes C++
msvcr90d.dll!free(void * pUserData=0x00a5f348)  Line 49 + 0xb bytes C++
QtCored4.dll!qFree(void * ptr=0x00a5f348)  Line 60 + 0xa bytes  C++
QtCored4.dll!QString::free(QString::Data * d=0x00a5f348)  Line 1185 + 0x9 bytes C++
QtCored4.dll!QString::~QString()  Line 883 + 0x23 bytes C++
tests.exe!test_GatewayIpMonitor()  Line 321 + 0xc bytes C++
tests.exe!main()  Line 343  C++
tests.exe!__tmainCRTStartup()  Line 586 + 0x17 bytes    C

这不是堆损坏。您正在删除一个错误的qstring。请找出该qstring实例或指针(最有可能)在实际错误时是如何使用的。

我在发布版本中运行该程序,但链接到调试生成库(Qtcored.lib)。这就是问题所在