如何在Visual Studio中调试单个线程?
我有一些项目的解决方案。不同项目中有几个断点。我想跟踪第一个遇到这些断点的线程,并继续跟踪该单个线程,尽管其他线程进入了相同的代码块。
我知道可以通过在断点上定义一个条件来实现,即线程名称= …或线程ID =
…,但是我的情况是负载很重的ASP.NET应用程序,并且一旦附加到w3wp.exe
许多线程将达到断点。我需要一些东西ThreadLocal<break-
point>。
可能吗?如果是这样,怎么办?
回答:
冻结/解冻线程是一种不正确的方法,因为其他线程不会执行任何代码。
最正确和可用的方法是:
- 在断点窗口中按Ctrl + A(选择所有断点)。
- 右键单击并选择“过滤器…”。
- 输入“ ThreadId =(当前线程ID)”。
在 Visual Studio 2015 及更高版本中,过程类似:
- 在断点窗口中按Ctrl + A(选择所有断点)。
- 右键单击并选择“设置…”。
- 检查“条件”,然后在下拉列表中选择“过滤器”
- 输入“ ThreadId =(当前线程ID)”。
因此,所有线程均被执行,但是调试器仅命中当前线程。
以上是 如何在Visual Studio中调试单个线程? 的全部内容, 来源链接: utcz.com/qa/432853.html