我在DebugMode中运行我的程序,然后通过关闭主窗体退出它。
在输出窗口中,我可以看到以下消息:
Uninit : Still Alive 1The program "[1432] App1.exe: Managed (v4.0.30319)" was ended with code 0 (0x0).
我想知道" Uninit:还是活着1"装置
有人知道吗? 我总是害怕在某些时候出现意想不到的事情,而且信息仍然存在。对我来说并不是很有希望。
感谢您的帮助!
答案 0 :(得分:14)
这是使用OutputDebugString()生成的诊断消息。它存在于您依赖的其中一个DLL中。确切的含义需要解释,但“Uninit”是“Uninitialize”的缩写,是DLL卸载时发生的事情。并且“仍然活着1”可能意味着DLL的程序员对你没有正确地关闭他的组件感到恼火。在你猛冲地垫之前。
消息缺少换行符(“\ n”),这是程序员在使用OutputDebugString时犯的一个非常标准的错误。
找到执行此操作的DLL的两种基本方法。首先是使用Project + Properties,Debug选项卡打开非托管调试,勾选“启用本机代码调试”复选框。 DLL卸载通知应该接近诊断消息。
使用SysInternals的Process Explorer更可靠。选择您的进程,然后按Ctrl + D列出它已加载的DLL。鉴于邮件的质量,您可以跳过具有Microsoft版权的邮件。右键单击DLL,然后查看“字符串”选项卡以查看DLL中的字符串。一旦找到它,您应该知道谁拥有DLL名称中的代码。问他们如何正确关闭。