【问题标题】:Why the Parallel Stacks doesn't show any task?为什么并行堆栈不显示任何任务?
【发布时间】:2015-11-12 16:11:08
【问题描述】:

我正在调试一个使用 asyncawait 模式大量使用 TPL 工作的应用程序,但是当我暂停应用程序时,Parallel Stacks 窗口仅显示以下内容留言:

没有可显示的任务。加载符号

我 100% 确定有多个任务正在运行,因为当我在其中一个并行运行的代码中设置断点时,它会被命中。

我读到了similar question,其中的问题是该调试器功能仅适用于 Windows 8.1 及更高版本,但我有:

  • Windows 10
  • Visual Studio 社区 2015
  • 这是一个 WPF 应用程序

谢谢

【问题讨论】:

    标签: .net visual-studio debugging task-parallel-library


    【解决方案1】:

    基于TaskCompletionSource 的任务不会显示在 Visual Studio 任务调试功能中。此外,当异步 IO 正在进行时,没有线程忙于处理 IO。这结合起来意味着您无法找出目前正在运行的异步 IO 工作。

    这是异步 IO 的主要缺点之一。您不能暂停调试器以查看发生了什么,也不能使用分析工具。

    (答案自 VS2015 起有效。也许这会改变。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多