【发布时间】:2017-05-05 14:32:23
【问题描述】:
我有一小段代码在“正常调试”中只是挂起执行“var folder =...”
async Task<StorageFolder> GetAssetsFolderAsync()
{
var folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(@"Assets");
return folder;
}
我在...中放置了两个断点
如果我一开始就中断,我可以 Debug.StepOver 到“返回文件夹”行。如果我使用 debug.Run 代替 in 消失并且不会命中下一个断点。从 MainPage_Loaded 调用该方法。知道如何纠正这个问题。更奇怪的是,它过去可以毫无问题地工作,而我没有改变那些行。即很多其他的)
【问题讨论】:
-
试试这个,在任务内的那一行设置一个断点。这在 step into 不起作用时有效。
-
你必须关注这段代码的调用者。如果它不等待呼叫,那么您会得到这种行为。和海龟一路下来,调用者的调用者必须等待,等等。Debug > Windows > Call Stack and Debug > Windows > Tasks 调试器窗口是你的朋友。
-
您是在 Debug 还是 Release 模式下运行代码?
标签: c# uwp async-await visual-studio-debugging