【发布时间】:2011-01-13 04:43:58
【问题描述】:
我正在使用 VS2010 Beta 2 来调试一些多线程代码。喜欢并行堆栈等。
不过,我有一个问题:我在一个可能被多个线程调用的方法中设置了一个断点。一旦我遇到断点,我真的想将注意力集中在触发该断点的线程上。但是,当我点击“step”时,VS 经常切换到另一个线程(比如我在线程 1 上停止,但与此同时,线程 2 遇到了我的断点)。
我知道我可以在线程窗口中手动冻结线程。有没有办法自动做到这一点——基本上,一旦我遇到断点,冻结除当前线程之外的所有线程,直到我点击 F-5?
【问题讨论】:
-
是的,太麻烦了,特别是如果你有很多并行线程!也许像 Kragen 所说的那样记下 threadID,然后使用“Run to cursor”继续下一行。如果一个线程命中该行并且它的 threadID 不是您跟踪的那个,那么重复“运行到光标”直到您获得所需的线程。至少 VS 不会在整个节目中跳来跳去,而你会一直失去焦点。
标签: visual-studio visual-studio-2010 debugging visual-studio-debugging