仅调试第一个断点命中的线程

Posted

技术标签:

【中文标题】仅调试第一个断点命中的线程【英文标题】:Debug only the thread the first breakpoint hits 【发布时间】:2017-01-30 15:38:23 【问题描述】:

我最近切换到了一台全新的 PC,并发现 VS 2015 中的远程调试突然变得非常缓慢,在我使用 F10 时重复 5-10 秒 VS 应用程序挂起。我的老客户根本没有这个问题。我发现我的旧 VS 2015 仅通过包含我命中的第一个断点的线程。这几乎可以满足我的所有需求,并且在远程调试中也快得多。

由于在 VS 中似乎没有此设置,我假设此行为来自我为 VS 2008 SP1 安装的补丁,该补丁在调试时存在一些问题 (https://support.microsoft.com/en-us/help/957912/updates-for-visual-studio-2008-sp1-debugging-and-breakpoints)。现在我不想通过安装 VS 2008 SP1、补丁和 VS 2015 来测试它。是否有任何其他简单(无冻结/解冻 clickclick)方法让 VS 忽略其他线程?

【问题讨论】:

【参考方案1】:

(1) 某些扩展工具如“调试单线程”将成为此问题的路径:

https://marketplace.visualstudio.com/items?itemName=mayerwin.DebugSingleThread

(2) 使用线程ID过滤线程,选择你只想调试的也是我知道的一种变通方法。

How to debug a single thread in Visual Studio?

【讨论】:

我做了一些研究,发现了以下线程,这表明这是VS中仍然存在的问题,因此该插件似乎是目前最合理的解决方案:visualstudio.uservoice.com/forums/121579-visual-studio-ide/…

以上是关于仅调试第一个断点命中的线程的主要内容,如果未能解决你的问题,请参考以下文章

windbg断点命中时,其它线程在运行吗

VS Code 调试器到达第一个断点的速度极慢

VS2017调试代码显示“当前无法命中断点,还没有为该文档加载任何符号”

WebService附加到IIS调试,未命中断点

调试器未在 .NET 代码中命中断点

调试器不会在程序集上命中断点