冻结VS2010中断点上的所有线程

JMa*_*sch 10 debugging visual-studio-2010 visual-studio visual-studio-debugging

我正在使用VS2010 Beta 2来调试一些多线程代码.喜欢并行堆栈等

我有一个问题:我在一个可能被多个线程调用的方法中设置断点.一旦我达到了断点,我真的希望将重点放在触发该断点的线程上.但是,当我点击"step"时,VS经常切换到另一个线程(比如我在线程1上停止了,但同时,线程2击中了我的断点).

我知道我可以手动冻结线程窗口中的线程.有没有办法自动完成 - 基本上,一旦我遇到断点,冻结除当前线程之外的所有线程,直到我击中F-5?

Erw*_*yer 12

我刚刚发布了一个Visual Studio 2010扩展,它正是您正在寻找的.它是免费的:).

介绍

此Visual Studio 2010扩展添加了两个快捷方式和工具栏按钮,以允许开发人员在调试多线程应用程序时轻松专注于单个线程.

它大大减少了手动进入"线程"窗口以冻结/解冻所有线程但需要遵循的线程的需要,因此有助于提高生产率.

特征

仅限进一步执行当前线程.将冻结所有其他线程.快捷方式:CTRL + T + T或雪花按钮.切换到下一个单线程(基于ID).将更改当前线程并冻结所有其他线程.快捷方式:CTRL + T + J或下一步按钮.

在图库,官方页面Codeplex存储库中查看.


Jus*_*tin 2

据我所知,但是您可以在单步执行时禁用断点。

当我担心混淆许多线程时,我倾向于保持线程窗口打开并记下线程 ID。