在调试我的 C # 应用程序时,我注意到大量出现以下句子:
线程——已经退出,代码为0(0x0)。
应用程序继续工作,没有任何异常被捕获。
该应用程序在 Windows764位上运行,并使用 x86平台进行调试。
如果你的应用程序直接或间接地使用线程(例如在第三方库中的幕后) ,线程在完成后终止是绝对常见的... 这基本上就是你所描述的... 调试器显示这条消息... 你可以配置调试器不显示这条消息,如果你不想要它..。
如果以上没有帮助,那么请提供更多的细节,因为我不知道究竟是什么问题是你面临的..。
嗯,一个应用程序可能有许多线程并行运行。有些是由您、编码人员运行的,有些是由框架类运行的(特别是在 GUI 环境中)。
当线程完成其任务时,它退出并停止以存在。 这没什么可担心的,你也不应该在意。
这只是一个调试信息。你可以右键点击输出窗口,取消选中 Thread Exit Messages来关闭它。
Thread Exit Messages
Http://msdn.microsoft.com/en-us/library/bs4c1wda.aspx
除了从应用程序编程外,输出窗口 可显示以下资料: 调试器已加载或卸载的模块。 引发的异常。 出口的进程。 穿过那个出口。
除了从应用程序编程外,输出窗口 可显示以下资料:
调试器已加载或卸载的模块。
引发的异常。
出口的进程。
穿过那个出口。
框架创建线程以支持您创建的每个窗口,例如,当您创建 Form 和。拿出来。当窗口关闭时,线程终止(即退出)。
这是正常行为。然而,如果应用程序正在创建线程,并且有很多线程退出消息与这些线程相对应(可以通过应用程序中的线程名称来判断) ,那么这可能意味着由于程序逻辑错误,应用程序在不应该创建线程的情况下创建线程出现了问题。
这将是一个有趣的后续有原来的海报让我们知道她/他发现了什么与服务器崩溃的问题。我有一种感觉,这不会有任何关系... ... 但它很难告诉,从上传的信息。
为了完成布鲁姆接受的答案, 你可以在这里关闭它:
工具 > 选项 > 调试 > 常规输出设置 > 线程退出消息: 关闭
执行 Linq 查询可以生成额外的线程。 当我尝试在即时窗口中执行使用 Linq 查询集合的代码时,它常常拒绝运行,因为调试器没有足够的线程可用。
正如其他人所说,线程完成后退出是完全正常的。
我也遇到过这个问题,解决办法是:
我再次添加了这段代码,我的程序运行得很准确:
Application.Run(new PayrollSystem()); //File name this code removed by me accidentally.
停止此错误,您必须遵循以下简单步骤
然后使用快捷键 Ctrl + f5运行代码
除此之外,直接运行时还会显示错误