这是我正在使用的代码:
try
{
mainWorker = new BackgroundWorker();
mainWorker.DoWork += (sender, e) =>
{
try
{
//stuff I want to have happen in the background
...
//I want to step through the lines in this try block
}
catch
{
//exception not being caught
}
};
mainWorker.RunWorkerCompleted += (sender, e) =>
{
//code to let user know that the background work is done
...
};
mainWorker.RunWorkerAsync();
mainWorker.Dispose();
}
catch
{
//exception not being caught
}
我没有看到任何异常被抛出。我在 DoWork 的 try 块内设置了一个断点。有时它会遇到断点,但在单步执行一定数量的行之后,程序就会结束。它并不总是以同一行代码结束。有时它根本没有达到断点。
如果我消除后台工作人员,代码将正常执行。
我之前没有实现过后台工作人员,我正在试图找出我错过了什么阻止我单步执行我的代码。
编辑:忘了提到,如果我注释掉 Dispose() 它仍然没有通过。