dottrace 异步等待支持不起作用
Posted
技术标签:
【中文标题】dottrace 异步等待支持不起作用【英文标题】:dottrace async await support is not working 【发布时间】:2019-10-31 13:37:36 【问题描述】:Jetbrains 的 dottrace 应该具有对 async/await 的分析支持。
但我无法让它显示预期结果(我在时间线查看器调用堆栈中没有“等待”和“继续”节点)。
我尝试使用以下程序类型进行分析:
.NET framework (4.7) 控制台程序, .NET 框架 (4.7) windows 程序, .NET core (>2.2) 控制台, .NET core (>2.2)windows程序, .NET 核心 (3.0) wpf这只是对我不起作用吗?因为我在网上找不到任何东西 还是这正式目前不再有效?
我对可能解释的唯一参考是针对控制台应用程序: https://youtrack.jetbrains.com/issue/DTRC-26464 关于:
AsyncCausalityTracer.LoggingOn 为 false 和一些 ETW 提供程序。 但对我来说,这不适用于所有类型的应用程序
我当前的 jetbrains 软件版本是: Resharper Ultimate 2019.2.3(dottrace 2019.2)
--- 编辑 2019/11/01:
点击我得到的事件时(我也希望 TPL 事件???):
--- 编辑 2019/11/06:
由于 Konkat info link 的回复评论,我也尝试了:
.NET core 2.0 控制台应用程序=> dottrace 异步支持也不起作用
【问题讨论】:
【参考方案1】:您的配置中是否启用了“收集 TPL 事件”选项?
【讨论】:
是的,确实已启用 我明白了。对于 .NET Core 2.1 或更高版本,由于 CoreCLR 中的以下问题,调用树中的“等待”和“继续”节点会丢失:github.com/dotnet/coreclr/issues/26333 对于控制台 .NET Framework 4.7 应用程序,由于youtrack.jetbrains.com/issue/DTRC-26464,它们被遗漏了。但是,它们必须为 .NET Framework 4.7 WPF 应用程序提供。您确定在这种情况下调用树中没有这些节点吗?关于事件表 - 不,dotTrace 不在此表中显示 TPL 事件。 我编辑了这个问题作为对关于 .NET 核心的评论二的回应。总结是,即使对于核心 2.0,它也无法正常工作。我假设一个版本,例如2.0 发布后永远不会有任何更新。所以不知道为什么它不工作。以上是关于dottrace 异步等待支持不起作用的主要内容,如果未能解决你的问题,请参考以下文章