C# 调试.NET中的工作线程

C# 调试.NET中的工作线程,c#,.net,multithreading,debugging,C#,.net,Multithreading,Debugging,调试多线程应用程序时遇到一些困难。所以我在工作线程中设置了一个断点,应用程序点击它,但当我尝试恢复时,它就不会继续执行。它应该结束工作线程,然后返回到主窗体,但工作线程弹出窗口(它生成一个小窗体)永远停留在那里。另外,当我试图在“继续”之后中断执行时,VisualStudio在Application.Run(…)处停止。我的目标是调试worker中的几行代码,并在主窗体中查看效果。有人经历过这个问题吗?或者这根本不是问题?在工作线程上生成UI不是一个好主意。如果线程不是主UI线程,则不要在其上创

调试多线程应用程序时遇到一些困难。所以我在工作线程中设置了一个断点,应用程序点击它,但当我尝试恢复时,它就不会继续执行。它应该结束工作线程,然后返回到主窗体,但工作线程弹出窗口(它生成一个小窗体)永远停留在那里。另外,当我试图在“继续”之后中断执行时,VisualStudio在Application.Run(…)处停止。我的目标是调试worker中的几行代码,并在主窗体中查看效果。有人经历过这个问题吗?或者这根本不是问题?

在工作线程上生成UI不是一个好主意。如果线程不是主UI线程,则不要在其上创建或更新UI元素


如果您使用的是WPF,则需要使用类似于
Application.Current.Dispatcher.Invoke的东西来在适当的线程上创建或更新UI。

Show don't tell,如果您的代码有问题,请在问题中发布您的代码。查看一下可能会有所帮助。不幸的是,我不能,我认为这不是代码的问题。我可能不理解调试多线程应用程序的整个想法,这就是问题所在,但MSDN page说点击“继续”应该会恢复所有线程,因此我的脑海中产生了一些怀疑。不,这是Windows窗体应用程序。毕竟,这不是真的,对不起,我错了,worker只是将信息发送到主窗口以更新UI,所以您的答案完全无关。无论如何,我只是发现,如果我从一个断点转到另一个断点,而不使用单步执行或单步执行,那么一切都可以正常工作,这让我非常惊讶。有时候,我觉得这整个声誉点的事情只是破坏了,所以人们只是发送答案,而没有努力去理解问题。