通过并行处理,它可以在后台或调试任务中跳转。我最终在每一行添加一个断点。有没有办法只进入任务,只在开头放一个断点?
答案 0 :(得分:5)
在调试器中暂停时,您可以使用“线程”窗口对上下文切换进行更多控制。您可以右键单击一个Thread并选择Freeze。这将阻止调试器在您单步执行代码时切换到该线程。您也可以Shift-Select多个线程并将它们全部冻结。如果你冻结除了踩踏的线程以外的所有线程,你可以不受其他处理的阻碍。
这有点尴尬,但您也可以通过显式解冻一个线程然后强制活动线程在您要测试的特定点强制更改(使用切换到线程)来使用它来调查某些类型的竞争条件。这不会复制所有类型的线程同步问题(一些更微妙,处理单独CPU上的内存缓存等),但您可以看到备用执行命令的影响(例如一些死锁方案。)