我已经包含源代码,错误和堆栈跟踪。我该如何解决这个问题?我需要如何对此在调用QDomElement :: text()函数时Visual Studio 2008“调试断言失败”消息
源代码进行指针(说明):
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或它已加载的任何DLL中存在一个错误。
这也可能是由于用户按F12而tests.exe具有 焦点。
输出窗口可能有更多诊断信息。 “
当我点击继续 - 我还得到消息 -
计划:... N \测试\发布\ tests.exe文件: F:\ DD \ vctools \ crt_bld \ self_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