代码之家  ›  专栏  ›  技术社区  ›  JMarsch

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

  •  10
  • JMarsch  · 技术社区  · 15 年前

    我正在使用VS2010 Beta 2调试一些多线程代码。喜欢平行堆叠等。

    不过,我有一个问题:我在一个方法中设置了一个断点,该方法可能被多个线程调用。一旦我到达断点,我真的想把注意力集中在触发该断点的线程上。然而,当我点击“step”时,VS经常切换到另一个线程(假设我在线程1上停止,但与此同时,线程2点击了我的断点)。

    4 回复  |  直到 13 年前
        1
  •  2
  •   Justin    15 年前

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

        2
  •  12
  •   Community CDub    4 年前

    而且是免费的:)。

    演示

    它大大减少了手动进入“线程”窗口冻结/解冻除需要遵循的线程外的所有线程的需要,因此有助于提高生产率。

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

    过来看 here on the Gallery ,在 official page Codeplex repository .

        3
  •  3
  •   Gavin Stevens    14 年前

    如果从调试加载线程窗口->视窗->线程。。一旦到达断点,可以选择所有线程并单击“冻结线程”,然后可以恢复活动线程,选择它并选择“解冻线程”。

    这将只允许当前线程在调试器中执行。