visual stdio多线程调试笔记

107 阅读1分钟

冻结/解冻线程是一种不正确的方式,因为其他线程不执行任何代码。

最正确和可用的方法是:

  1. 在断点窗口中按 Ctrl+A(选择所有断点)。
  2. 右键单击并选择“过滤器…”。
  3. 输入“ThreadId=(当前线程 id)”。

在 Visual Studio 2015 及更高版本中,过程类似:

  1. 在断点窗口中按 Ctrl+A(选择所有断点)。
  2. 右键单击并选择“设置…”。
  3. 检查“条件”并在下拉列表中选择“过滤器”
  4. 输入“ThreadId=(当前线程 id)”。

所以所有线程都被执行,但调试器只命中当前线程。