隐式链接的DLL没有报告“foo.DLL Terminating!”在我的电脑上关闭DBG版MFC应用程序时

时间:2016-06-15 19:04:45

标签: c++ dll visual-studio-2008 mfc

当我在VS2008中运行我的应用程序时,输出窗口将所有显式加载/卸载的DLL转储到输出窗口。但是,不报告隐式DLL(缺少隐式DLL“终止!”消息是KB405M,PROGEXT,MATEXT,HOSTEXT,CodeJock和UTILS):

DashboardDm.DLL Terminating!
'DmDesigner.exe': Unloaded 'D:\DSPMX\Debug\Bin\DashboardDm.dll'
Program.DLL Terminating!
'DmDesigner.exe': Unloaded 'D:\DSPMX\Debug\Bin\PrgrmDm.dll'
'DmDesigner.exe': Unloaded 'C:\Windows\SysWOW64\comdlg32.dll'
The thread 'Win32 Thread' (0x3594) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x25a4) has exited with code 0 (0x0).
PROGRSC.DLL Terminating!
'DmDesigner.exe': Unloaded 'D:\DSPMX\Debug\Bin\PrgRcDm.dll'
COMMRSC.DLL Terminating!
'DmDesigner.exe': Unloaded 'D:\DSPMX\Debug\Bin\ComRcDm.dll'
The thread 'Win32 Thread' (0x3314) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x2ab8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x372c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x2bb4) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x11f8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1fdc) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x237c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0xb4c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x2b08) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x3170) has exited with code 0 (0x0).
The program '[10044] DmDesigner.exe: Native' has exited with code 0 (0x0).

但是,当一位同事在调试器中的PC上运行它时,他会同时获得列出的显式DLL和隐式DLL(注意下面列出了Terminating!DLLs):

DashboardDm.DLL Terminating!
'DmDesigner.exe': Unloaded 'D:\DSPMX\Debug\Bin\DashboardDm.dll'
Program.DLL Terminating!
'DmDesigner.exe': Unloaded 'D:\DSPMX\Debug\Bin\PrgrmDm.dll'
'DmDesigner.exe': Unloaded 'C:\Windows\SysWOW64\comdlg32.dll'
The thread 'Win32 Thread' (0x2420) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x7bdc) has exited with code 0 (0x0).
PROGRSC.DLL Terminating!
'DmDesigner.exe': Unloaded 'D:\DSPMX\Debug\Bin\PrgRcDm.dll'
COMMRSC.DLL Terminating!
'DmDesigner.exe': Unloaded 'D:\DSPMX\Debug\Bin\ComRcDm.dll'
The thread 'Win32 Thread' (0x8348) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x35b8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x6b6c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x8718) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1eec) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x746c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x54c8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x548c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x3a40) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1e1c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x5bbc) has exited with code 0 (0x0).
KB405M.DLL Terminating!
PROGEXT.DLL Terminating!
MatExt.DLL Terminating!
HOSTEXT.DLL Terminating!
Codejock ToolkitPro Terminating!
UTILS.DLL Terminating!
The program '[7388] DmDesigner.exe: Native' has exited with code 0 (0x0).

如果我在其中一个dwReason == DLL_PROCESS_DETACH AfxTermExtensionModule的调用中粘贴一个断点 - 它永远不会被命中(以防TRACE0机制被破坏)。

我在输出窗口中没有得到未处理/报告的异常,退出代码为0,所有看起来都很好。什么可能导致我的电脑上出现这种情况?我的同事怎么没有看到同样的问题?

我正在运行Windows 7(与我的同事一样)。 VS2008,相同的应用程序,相同的源代码库。

0 个答案:

没有答案