debugging 在调试期间,进入后台工作线程,有可能?

b5lpy0ml  于 2023-05-07  发布在  其他
关注(0)|答案(4)|浏览(168)

出于好奇。我想知道在调试期间是否可以进入(F11)作为后台工作进程。它通常只是跳到下一行代码。是否需要更改VS设置?这是它的本意吗?
如有任何澄清,将不胜感激。谢谢

eimct9ow

eimct9ow1#

正如注解所说,您只需为后台任务中的第一行代码设置一个断点。(或:Debugger.Break()。)
另外,我建议你去看看Debug > Windows > Threads窗口,它在多线程调试的情况下非常有用。

ccgok5k5

ccgok5k52#

它通常只是跳到下一行代码。
这是因为BackgroundWorker是在另一个线程上执行的,必须首先创建和启动该线程,这需要一些时间。如果您继续单步执行,您将在某个时刻进入工作线程,但无法确定确切的时间。
如果您想调试辅助代码,只需在它的开始处放置一个断点。

vawmfj5a

vawmfj5a3#

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

w8rqjzmb

w8rqjzmb4#

来自Haggisatonal答案在Visual Studio 2015 Debug doesn't work in multithread application
禁用VS托管进程(项目-〉属性-〉调试-〉启用Visual Studio托管进程)

相关问题