【问题标题】:Step Debug Parallel分步调试并行
【发布时间】:2012-10-31 22:56:29
【问题描述】:

使用并行处理,无论是后台还是调试中的任务都会跳来跳去。我最终在每一行添加了一个断点。有没有办法只步入任务,只在开头放一个断点?

【问题讨论】:

    标签: c# .net parallel-processing


    【解决方案1】:

    在调试器中暂停时,您可以使用“线程”窗口对上下文切换进行更多控制。您可以右键单击线程并选择冻结。这将防止调试器在您单步执行代码时切换到该线程。您还可以 Shift-选择多个线程并将它们全部冻结。如果您冻结除您正在单步执行的线程之外的所有线程,您可以不受其他处理阻碍地单步执行。

    这有点尴尬,但您也可以使用它来调查某些类型的竞争条件,方法是明确地仅解冻一个线程,然后在您要测试的特定点强制活动线程更改(使用切换到线程)。这不会复制所有类型的线程同步问题(有些更微妙,处理不同 CPU 上的内存缓存等),但您可以看到交替执行顺序的影响(例如一些死锁场景。)

    【讨论】:

      猜你喜欢
      • 2015-12-05
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 2012-06-21
      相关资源
      最近更新 更多