Visual studio 2010 Qt 4.8.2 QString toStdString未处理异常

Visual studio 2010 Qt 4.8.2 QString toStdString未处理异常,visual-studio-2010,qt,windows-7,64-bit,Visual Studio 2010,Qt,Windows 7,64 Bit,它将导致未处理的异常。在这个特殊的例子中,它发生在我离开方法“function”的作用域之后。但它发生在范围转义的当前上下文中(也就是说,如果将此行放入对象的构造函数中,它将按预期进行,直到构造函数结束,然后当它应继续到更高的范围级别时,它将发送未处理的异常错误) 我已经通过反复试验将这个问题隔离到了.toStdString,我不能说其他方法是否会(或者可能)有同样的问题。然而,我可以说,只要这行被评论,一切都正常。事实上,如果我用一个简单的 std::string cadenita = str

它将导致未处理的异常。在这个特殊的例子中,它发生在我离开方法“function”的作用域之后。但它发生在范围转义的当前上下文中(也就是说,如果将此行放入对象的构造函数中,它将按预期进行,直到构造函数结束,然后当它应继续到更高的范围级别时,它将发送未处理的异常错误)

我已经通过反复试验将这个问题隔离到了.toStdString,我不能说其他方法是否会(或者可能)有同样的问题。然而,我可以说,只要这行被评论,一切都正常。事实上,如果我用一个简单的

std::string cadenita = str.toStdString();
Visual Studio的输出为:

“C\u plus\u plus\u QT\u project.exe”:已加载“C:\Users\aravasio\Desktop\C\u plus\u QT\u project\Debug\C\u plus\u plus\u QT\u project.exe”,已加载符号。 “C\u plus\u plus\u QT\u project.exe”:加载的“C:\Windows\SysWOW64\ntdll.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\kernel32.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\KernelBase.dll”找不到或无法打开PDB文件 “C\u plus\u plus\u QT\u project.exe”:加载的“C:\Users\aravasio\Desktop\C\u plus\u plus\u QT\u project\Debug\QtGui4.dll”二进制文件未使用调试信息生成。 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\gdi32.dll”找不到或无法打开PDB文件 “C\u plus\u plus\u QT\u project.exe”:加载的“C:\Windows\SysWOW64\user32.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\advapi32.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\msvcrt.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\sechost.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\rpcrt4.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\sspicli.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\cryptbase.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\lpk.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\usp10.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\comdlg32.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\shlwapi.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\winsxs\x86_microsoft.Windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\shell32.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\oleaut32.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\ole32.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\imm32.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\msctf.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\winmm.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\winspool.drv”找不到或无法打开PDB文件 “C\u plus\u plus\u QT\u project.exe”:加载的“C:\Users\aravasio\Desktop\C\u plus\u plus\u QT\u project\Debug\QtCore4.dll”二进制文件未使用调试信息生成。 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\ws2_32.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\nsi.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\winsxs\x86_microsoft.vc90.crt_1FC8B3B9A118E3B_9.0.30729.6161_none_50934f2ebcb7eb57\msvcp90.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\winsxs\x86_microsoft.vc90.crt_1FC8B3B9A118E3B_9.0.30729.6161_none_50934f2ebcb7eb57\msvcr90.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:已加载“C:\Windows\SysWOW64\msvcp100d.dll”,已加载符号。 “C_plus_plus_QT_project.exe”:已加载“C:\Windows\SysWOW64\msvcr100d.dll”,已加载符号。 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\uxtheme.dll”找不到或无法打开PDB文件 “C_plus_plus_QT_project.exe”:加载的“C:\Windows\SysWOW64\dwmapi.dll”找不到或无法打开PDB文件 C_plus_plus_QT_project.exe中0x53b8ad7a(msvcp100d.dll)处的首次机会异常:0xC0000005:访问冲突读取位置0xCCD0。 C_plus_plus_QT_project.exe中0x53b8ad7a(msvcp100d.dll)处未处理的异常:0xC0000005:访问冲突读取位置0xCCD0

如果我能提供有关我的系统的任何其他信息,我将很乐意提供

我只能做出一些有根据的猜测,这不是一个Qt错误,因为在家里我一点问题都没有(但在家里我使用的是x86w7,所以这可能不是一个好例子)

有人知道这件事吗?我在谷歌上搜索了不少,但似乎每个错误都在一个旧的修补程序中得到了解决


我是不是应该弃船试试VS2008?它是否适用于x64环境?(顺便说一句,发行版将针对x86,而不是x64)

您编译了调试目标,但您将其与Qt dll的发行版变体链接(
QtCore4.dll
QtGui4.dll
而不是
QtCore4.dll
QtGuid4.dll
)。

我该如何解决这个问题,因为我想我已经确定了情况并非如此。不管怎样,我修好了。你是100%正确的。我不敢相信我错过了。你太棒了。“谢谢你。”Alexism我对提供ans投了赞成票
std::string cadenita = str.toStdString();
std::cout << "Some Funny Test Text" std::endl;
 #if _ITERATOR_DEBUG_LEVEL == 2
if (_Myproxy != 0)
    {   // proxy allocated, drain it
    _Lockit _Lock(_LOCK_DEBUG);

    for (_Iterator_base12 **_Pnext = &_Myproxy->_Myfirstiter;
        *_Pnext != 0; *_Pnext = (*_Pnext)->_Mynextiter) // HERE IS THE LINE WHERE THE BREAK KICKS IN
        (*_Pnext)->_Myproxy = 0;
    _Myproxy->_Myfirstiter = 0;
    }