C# 在使用Visual Studio进行调试时保持辅助线程运行

C# 在使用Visual Studio进行调试时保持辅助线程运行,c#,multithreading,visual-studio,visual-studio-2012,breakpoints,C#,Multithreading,Visual Studio,Visual Studio 2012,Breakpoints,我正在制作一个应用程序,它将向VisualStudio发送一步一步的按键操作,使它能够对自己正在执行的部分代码进行逐行截图 但是当你的代码达到一个断点时,所有的线程都会停止,即使是那些没有达到断点的线程。这有什么办法吗?当我遇到断点时,是否有办法让VisualStudio保持其他线程运行?还是我必须开始一个单独的过程 编辑:为了澄清,当遇到断点时,我只需要在遇到断点的线程上停止执行。我不希望断点只在被某个线程击中时才被激活。换句话说,当一个线程在调试器中的断点处停止时,我需要让程序的一部分继续执

我正在制作一个应用程序,它将向VisualStudio发送一步一步的按键操作,使它能够对自己正在执行的部分代码进行逐行截图

但是当你的代码达到一个断点时,所有的线程都会停止,即使是那些没有达到断点的线程。这有什么办法吗?当我遇到断点时,是否有办法让VisualStudio保持其他线程运行?还是我必须开始一个单独的过程


编辑:为了澄清,当遇到断点时,我只需要在遇到断点的线程上停止执行。我不希望断点只在被某个线程击中时才被激活。换句话说,当一个线程在调试器中的断点处停止时,我需要让程序的一部分继续执行。

好的,似乎每当遇到进程中的断点时,该进程中的所有线程都会停止,并且似乎没有任何方法覆盖该行为。 我要做的唯一方法是创建第二个
进程
,并让该
进程
负责通过外部API调用将虚拟按键发送到Visual Studio


显然,您必须在主进程和按键进程之间有某种通信方式。我环顾四周,发现这可能是在同一台机器上运行的两个进程之间进行通信的最佳方法

我知道这是一个古老的参考资料,我的答案来得太晚了,但只是想让你知道。。。我认为它仍然适用:

事实上,在一个线程中中断是可能的。Windows称之为“SuspendThread”,Visual Studio称之为“冻结/解冻”,而您称之为停止。。。打开调试>窗口>线程并四处玩。也看到