我喜欢Java中的功能,您可以在其中暂停一个线程并保持其他线程运行。特别是在Netbeans中,Debugging窗口中的每个线程旁边都有一个暂停按钮。单击该按钮可暂停(中断)该特定线程。然后,您可以调试并单步执行代码。但所有其他线程都不受干扰地运行。
如果您有与外界通信的线程(硬件,网络等),这将特别有用。你不想打扰他们,所以另一方没有超时。
这在Visual Studio中是否也可以(例如2013)?到目前为止,在我看来,当我暂停程序(或一个断点被击中)时,所有线程都被停止,并且在调试该单个线程的代码时无法让某些线程运行。
我知道有一个冻结函数,它停止一个线程,而其他线程继续运行。虽然有用,但它远不是一回事。因为我不能单步执行该线程或检查一些变量。当我点击“Break All”时,我才能这样做。但这将阻止所有线程。我可能只是错过了什么?
答案 0 :(得分:1)
这就是我的所作所为:
现在,Visual Studio将只通过解冻的线程。这样做似乎要慢得多,大概是因为它必须遍历所有冻结的线程,但它为我的多线程调试带来了一些理智。