debugging 线程已退出,代码为0(0x0),没有未处理的异常

pinkon5k  于 2023-05-07  发布在  其他
关注(0)|答案(8)|浏览(300)

在调试我的C#应用程序时,我注意到下面的句子大量出现:
线程--已退出,代码为0(0x 0)。
应用程序继续工作,没有异常被捕获/未处理。
该应用程序运行在64位Windows 7上,并在x86平台上调试。

gupuwyp2

gupuwyp21#

这只是调试消息。您可以通过右键单击输出窗口并取消选中Thread Exit Messages来关闭它。
http://msdn.microsoft.com/en-us/library/bs4c1wda.aspx
除了从您的应用程序中编程输出外,Output窗口还可以显示以下信息:

  • 调试器已加载或卸载的模块。
  • 引发的异常。
  • 退出的进程。
    *退出的线程。
2guxujil

2guxujil2#

一个应用程序可能有很多线程并行运行。有些是由你运行的,编码器,有些是由框架类运行的(特别是如果你在GUI环境中)。
当一个线程完成了它的任务,它就退出并停止存在。这没有什么可怕的,你不必在意.

mwg9r5ms

mwg9r5ms3#

为了完成BlueM接受的答案,您可以在此处取消激活它:
工具〉选项〉调试〉常规输出设置〉线程退出消息:关

ccrfmcuu

ccrfmcuu4#

如果您的应用程序直接或间接使用线程(即在幕后,就像在第三方库中一样),线程在完成后终止是非常常见的-这基本上就是您所描述的。调试器显示此消息-如果您不希望显示此消息,可以将调试器配置为不显示此消息。

guz6ccqo

guz6ccqo5#

执行Linq查询会生成额外的线程。当我尝试在即时窗口中执行使用Linq查询集合的代码时,它经常拒绝运行,因为没有足够的线程可供调试器使用。
正如其他人所说,线程在完成时退出是完全正常的。

slwdgvem

slwdgvem6#

框架创建线程来支持您创建的每个窗口,例如,当您创建Form和.Show()时。当窗口关闭时,线程终止(即,它们退出)。
这是正常的行为。然而,如果应用程序正在创建线程,并且存在与这些线程相对应的大量线程退出消息(可以通过线程的名称,通过在应用程序中给予它们不同的名称来区分),则这可能指示由于程序逻辑错误,应用程序在不应该创建线程时存在问题。
这将是一个有趣的后续行动,有原来的海报,让我们知道他/她发现了关于服务器崩溃的问题。我有种感觉这和这件事没什么关系...但从发布的信息来看很难判断

col17t5w

col17t5w7#

停止这个错误你必须按照这个简单的步骤
1.打开Visual Studio
1.从顶部选择选项debug
1.选择选项
1.在“选项选择调试”下的“调试”中,选择“常规”
1.在“常规”中,选中“调试停止时自动关闭控制台”复选框
1.保存省吧
然后使用快捷键Ctrl+f5运行代码

**其他明智的,它仍然显示错误,当你运行它直接

eoigrqb6

eoigrqb68#

我也遇到过这个问题,解决方法是:
1.打开解决方案探索
1.双击Program.cs文件
我再次添加了这段代码,我的程序运行准确:

Application.Run(new PayrollSystem()); 
//File name this code removed by me accidentally.

相关问题