我们的一个进程在应用程序关闭期间崩溃。ErrorHandlingClient 是一个 dll。我在故障转储中看到了这一行:
"`CErrorLog::m_IErrorHandlingServerPtr 的动态 atexit 析构函数"
我也在堆栈溢出中搜索了msdn;我无法得到明确的答案。我们的应用程序被移植到 vc 9.0 编译器。对于早期版本,此问题不会发生。我正在粘贴故障转储。
0018fcf4 76c28681 ole32!CStdIdentity::~CStdIdentity+0x8c
0018fcf8 00000002
0018fcfc 0081aa38
0018fd00 0081a990
0018fd04 693bbf14 ErrorHandlingClient!__native_startup_lock
0018fd08 007a1890
0018fd0c 0018fd18
0018fd10 76c285eb ole32!CStdIdentity::`scalar deleting destructor'+0xd
0018fd14 0081a990
0018fd18 0018fd2c
0018fd1c 76c2882a ole32!CStdIdentity::CInternalUnk::Release+0x6e
0018fd20 00000001
0018fd24 005c037c
0018fd28 737d3607 msvcr90!_decode_pointer
0018fd2c 0018fd38
0018fd30 76d3b6b9 ole32!IUnknown_Release_Proxy+0x11
0018fd34 80000000
0018fd38 0018fd60
0018fd3c 693a8421 ErrorHandlingClient!`dynamic atexit destructor for 'CErrorLog::m_IErrorHandlingServerPtr''+0x11
0018fd40 0081c9ec
0018fd44 693a462f ErrorHandlingClient!_CRT_INIT+0x1be [f:\dd\vctools\crt_bld\self_x86\crt\src\crtdll.c @ 449]
0018fd48 693a8410 ErrorHandlingClient!`dynamic atexit destructor for 'CErrorLog::m_IErrorHandlingServerPtr''
0018fd4c 00000001
0018fd50 00000000
0018fd54 69390000 ErrorHandlingClient!Define_the_symbol__ATL_MIXED::Thank_you::Thank_you <PERF> (ErrorHandlingClient+0x0)
0018fd58 693a8410 ErrorHandlingClient!`dynamic atexit destructor for 'CErrorLog::m_IErrorHandlingServerPtr''
0018fd5c 00000000
0018fd60 0018fda4
0018fd64 693a474e ErrorHandlingClient!__DllMainCRTStartup+0xb7 [f:\dd\vctools\crt_bld\self_x86\crt\src\crtdll.c @ 560]