nha*_*rer 6 c# debugging multithreading visual-studio
我喜欢 Java 中的这一功能,您可以仅挂起一个线程并保持其他线程运行。特别是在 Netbeans 中,调试窗口中每个线程旁边都有一个暂停按钮。单击该按钮会挂起(中断)该特定线程。然后您可以调试并单步调试代码。但所有其他线程都保持运行不受干扰。
如果您有与外界(硬件、网络等)通信的线程,这尤其有用。而且你不想打扰他们,所以另一边没有超时。
这在 Visual Studio 中也可能吗(例如 2013)?到目前为止,在我看来,当我暂停程序(或命中断点)时,所有线程都会停止,并且在调试该单线程的代码时无法让某些线程运行。
我知道有一个冻结功能,它可以暂停一个线程,而其他线程继续运行。虽然很有用,但到目前为止它并不是同一件事。因为我无法单步执行该线程或检查某些变量。只有当我点击“Break All”时我才能做到这一点。但这将停止所有线程。我可能只是错过了一些东西?
这就是我所做的:
现在,Visual Studio 将仅单步执行解冻的线程。这样做时似乎要慢得多,大概是因为它必须循环所有冻结的线程,但它给我的多线程调试带来了一些理智。