为什么并行堆栈不显示任何任务?
Why the Parallel Stacks doesn't show any task?
我正在使用 async
和 await
模式调试大量使用 TPL 的应用程序,但是当我暂停应用程序时 Parallel Stacks window 仅显示以下消息:
没有要显示的任务。 LoadSymbols
我 100% 确定有多个任务 运行 因为当我在并行 运行 的其中一个代码中设置断点时,它会被触发。
我读了一篇 similar question,其中的问题是此调试器功能仅适用于 windows 8.1 及更高版本,但我有:
- Windows 10
- Visual Studio 社区 2015
- 这是一个 WPF 应用程序
谢谢
基于 TaskCompletionSource
的任务不会显示在 Visual Studio 任务调试功能中。此外,当异步 IO 正在进行时,没有线程忙于处理 IO。这种组合意味着您目前无法找出什么是异步 IO 工作 运行。
这是异步 IO 的主要缺点之一。您无法暂停调试器以查看发生了什么,也无法使用分析工具。
(答案自 VS2015 起有效。也许这会改变。)
我正在使用 async
和 await
模式调试大量使用 TPL 的应用程序,但是当我暂停应用程序时 Parallel Stacks window 仅显示以下消息:
没有要显示的任务。 LoadSymbols
我 100% 确定有多个任务 运行 因为当我在并行 运行 的其中一个代码中设置断点时,它会被触发。
我读了一篇 similar question,其中的问题是此调试器功能仅适用于 windows 8.1 及更高版本,但我有:
- Windows 10
- Visual Studio 社区 2015
- 这是一个 WPF 应用程序
谢谢
TaskCompletionSource
的任务不会显示在 Visual Studio 任务调试功能中。此外,当异步 IO 正在进行时,没有线程忙于处理 IO。这种组合意味着您目前无法找出什么是异步 IO 工作 运行。
这是异步 IO 的主要缺点之一。您无法暂停调试器以查看发生了什么,也无法使用分析工具。
(答案自 VS2015 起有效。也许这会改变。)