c++ - std::string 析构函数中的奇怪错误

标签 c++ debugging stdstring application-verifier

我在 Application Verifier 下运行了我的应用程序,它在我的应用程序关闭时向我显示了以下问题:

VERIFIER STOP 00000210: pid 0x6D0: Critical section not initialized. 

    005C9148 : Critical section address.
    00000000 : Critical section debug info address.
    00000000 : Not used.
    00000000 : Not used.

堆栈跟踪:

myapp!_Mtxlock+0xf [f:\dd\vctools\crt_bld\self_x86\crt\src\xmtx.c @ 45]
myapp!std::_Lockit::_Lockit+0x2d [f:\dd\vctools\crt_bld\self_x86\crt\src\xlock.cpp @ 64]
myapp!std::_Container_base12::_Orphan_all+0x2f [c:\program files (x86)\microsoft visual studio 10.0\vc\include\xutility @ 200]
myapp!std::_String_val<wchar_t,std::allocator<wchar_t> >::~_String_val<wchar_t,std::allocator<wchar_t> >+0x57 [c:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring @ 479]
myapp!std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >+0x4f [c:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring @ 755]
myapp!MyClass::~MyClass+0x42
myapp!MyOtherClass::~MyOtherClass+0x5f
myapp!MyOtherClass::`scalar deleting destructor'+0x16
myapp!MyComInterfaceImplementation::Release+0x54
mscorwks!DllRegisterServerInternal+0x213f6
mscorwks!DllRegisterServerInternal+0x214ac
mscorwks!DllRegisterServerInternal+0x21510
mscorwks!StrongNameErrorInfo+0x6565
mscorwks!StrongNameErrorInfo+0x632c
mscorwks!StrongNameErrorInfo+0x64ad
mscorwks!LogHelp_LogAssert+0x4ee01
mscorwks!LogHelp_LogAssert+0x4f269
mscorwks!LogHelp_LogAssert+0x4f334
mscorwks!CorDllMain+0x1ca6
mscorwks!CorDllMain+0x230e
mscorwks!CreateApplicationContext+0xe551
mscorwks!DllRegisterServerInternal+0x2eacd
vfbasics+0x1602c
kernel32!GetModuleHandleA+0xdf

请注意 std::basic_string 的析构函数中出现了错误。 这可能是什么原因?

最佳答案

您的 MyClass 可能已经在运行时被销毁了一次,并且它在关闭时再次被销毁,标记了一个稍微虚假的错误消息。

关于c++ - std::string 析构函数中的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10853279/

相关文章:

c++ - 使用我的自定义 WINAPI 调试器启动应用程序时不断抛出异常

c++ - 使用 Crypto++ 生成 SHA256 哈希,使用字符串作为输入和输出?

c++ - C++ 中的字符串和整数连接

c++ - c++ 中 myoutput << myinput.rdbuf() 之类的 iostream 语句的语义是什么?

c++ - Visual Studio重构后的调试与差异搜索

java - IntelliJ IDEA 调试器跟随子进程

iphone - 将 NSString 转换为 std::string 撇号字符

c++ - 来自多个数据源的时间

c++ - 有没有办法在 QT 中对 UI 应用程序进行单元测试

C++ 一行测试 CIN