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

时间:2015-02-11 23:49:11

标签: c# multithreading visual-studio visual-studio-2012 breakpoints

我正在制作一个应用程序,它会向Visual Studio发送一步一步的按键,使其能够截取部分自己的代码逐行执行的截图。

但是当你在你的代码中遇到一个断点时,似乎所有线程都会停止,即使是那些没有达到断点的线程。有没有办法解决?当我遇到断点时,有没有办法让Visual Studio保持其他线程运行?或者我是否必须采取单独的流程?

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

2 个答案:

答案 0 :(得分:2)

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

显然,您必须在主要流程和按键流程之间进行一些沟通。我环顾四周,发现Anonymous Pipes可能是在同一台机器上运行的两个进程之间进行通信的最佳方法。

答案 1 :(得分:0)

我知道这是一个旧参考,我的回答来得太晚了,但只是想让你知道......我认为它仍然适用:You can't debug yourself