4

出于好奇。我想知道(F11)在调试期间是否可以进入后台工作人员。它通常只是跳到下一行代码。是否需要更改 VS 设置?这就是它的本意吗?

任何澄清将不胜感激。谢谢。

4

4 回答 4

5

正如评论所说,您只需为后台任务中的第一行代码设置一个断点。(或:Debugger.Break()。)

另外,我建议您查看Debug > Windows > Threads窗口,它在多线程调试情况下非常有用。

于 2014-04-25T07:28:33.230 回答
3

它通常只是跳到下一行代码。

这是因为 BackgroundWorker 正在另一个线程上执行,必须先创建和启动该线程,这需要一些时间。如果你继续前进,你会在某个时候进入工人,但不知道确切的时间。

如果你想调试它,只需在工作代码的开头放置一个断点。

于 2014-04-25T07:30:54.027 回答
2

调试开始后,打开 Sebestyén 回答中提到的线程窗口。启动所需线程时,请留意线程窗口中出现的新行的“位置”列。获得所需线程的名称后,右键单击它并选择“切换到线程”。这解决了调试器光标在我尝试调试特定线程时继续转到代码的其他点(我想是其他线程正在运行)的问题。

于 2015-02-27T13:18:21.300 回答
2

来自Haggisatonal的回答

禁用 VS 托管进程(项目 -> 属性 -> 调试 -> 启用 Visual Studio 托管进程)

关联

Visual Studio 2015 调试在多线程应用程序中不起作用

于 2015-10-02T05:56:02.713 回答