在使用 Visual Studio 进行调试时保留辅助线程 运行
Keep Secondary Threads Running While Debugging With Visual Studio
我正在制作一个应用程序,它将向 Visual Studio 发送跨步按键,以使其能够对其自己的代码的一部分逐行执行屏幕截图。
但似乎当您在代码中遇到断点时,所有线程都会停止,即使是那些没有遇到断点的线程。有没有办法解决?当我遇到断点时,有什么方法可以让 Visual Studio 保持其他线程 运行 吗?还是我必须开始一个单独的过程?
编辑: 澄清一下,当遇到断点时,我需要在遇到断点的线程上停止执行 仅 .我 不是 希望断点仅在被特定线程命中时才激活。换句话说,我需要让我的程序的一部分继续执行,而一个线程在调试器的断点处停止。
好吧,似乎每当您在进程中遇到断点时,该进程中的 所有 线程都会停止,而且似乎没有任何方法可以覆盖那种行为。
做我想做的事情的唯一方法是创建第二个 Process
,并让 Process
负责通过外部将虚拟按键发送到 Visual Studio API 打电话。
显然,您必须有某种方式在主进程和按键进程之间进行通信。我环顾四周,发现 Anonymous Pipes 可能是在同一台机器上的两个进程 运行 之间进行通信的最佳方法。
我知道这是一个旧参考,我的回答来得太晚了,但只是想让你知道......我认为它仍然适用:You can't debug yourself
我正在制作一个应用程序,它将向 Visual Studio 发送跨步按键,以使其能够对其自己的代码的一部分逐行执行屏幕截图。
但似乎当您在代码中遇到断点时,所有线程都会停止,即使是那些没有遇到断点的线程。有没有办法解决?当我遇到断点时,有什么方法可以让 Visual Studio 保持其他线程 运行 吗?还是我必须开始一个单独的过程?
编辑: 澄清一下,当遇到断点时,我需要在遇到断点的线程上停止执行 仅 .我 不是 希望断点仅在被特定线程命中时才激活。换句话说,我需要让我的程序的一部分继续执行,而一个线程在调试器的断点处停止。
好吧,似乎每当您在进程中遇到断点时,该进程中的 所有 线程都会停止,而且似乎没有任何方法可以覆盖那种行为。
做我想做的事情的唯一方法是创建第二个 Process
,并让 Process
负责通过外部将虚拟按键发送到 Visual Studio API 打电话。
显然,您必须有某种方式在主进程和按键进程之间进行通信。我环顾四周,发现 Anonymous Pipes 可能是在同一台机器上的两个进程 运行 之间进行通信的最佳方法。
我知道这是一个旧参考,我的回答来得太晚了,但只是想让你知道......我认为它仍然适用:You can't debug yourself