Visual Studio 2015 探查器未显示我的代码中的任何内容

Posted

技术标签:

【中文标题】Visual Studio 2015 探查器未显示我的代码中的任何内容【英文标题】:Visual studio 2015 profiler not showing anything from my code 【发布时间】:2015-11-13 19:19:00 【问题描述】:

我正在尝试使用 Visual Studio 2015 社区的分析器来计算 CPU 使用率,我得到的只是我的 exe 和 [外部代码],没有别的:

生成了一个 pdb 文件,我尝试清理和重建我的项目,只禁用了我的代码;有人可以帮助我吗?谢谢。

【问题讨论】:

您是否以某种方式解决了这个问题?我有同样的问题.. 实际上,将目标更改为应用程序(exe)而不是启动项目似乎可行。 @Alex ,如果我转到 Debug -> Start Diagnostic Tools without Debugger 并从那里选择 CPU Usage,我遇到了这个问题,我的解决方案是选择 Performance Wizard,然后从那里选择 CPU用法或任何其他选项。 该问题已在 Update 1 CTP 中得到修复。 【参考方案1】:

试试这个:Debug -> Start Diagnostic Tools Without Debugger 并从那里选择 Performance Wizard 而不是 CPU Usage,然后只从那里选择你需要的 CPU 或其他选项,这解决了我的问题。

【讨论】:

“CPU 使用率”必须取消选中,否则“性能向导”复选框将被禁用。 我在 VS2015 的 Debug 菜单下没有选项Start Diagnostic Tools without Debugger。我怎样才能找到它? 不幸的是,似乎无法使用它附加到正在运行的进程。所以如果你有一个VS无法启动的服务,这个工具就没有希望了。 “CPU 使用率”令人​​困惑,而且毫无用处。 “CPU采样”是大多数人感兴趣的,在“性能向导”里面【参考方案2】:

接受的答案对我不起作用 - 就我而言,问题似乎是我的程序数据库文件中没有生成调试信息。

我需要的修复是将我的发布配置的Configuration Properties → Linker → Debugging → Generate Debug Info 更改为Yes,然后重新编译所有。

【讨论】:

【参考方案3】:

在我的情况下,通过在工具 > 选项 > 调试 > 常规中选中“启用 .net Framework 源步进”选项解决了问题。这也会禁用“仅启用我的代码”。

附带说明,如果您有许多从未明确处置的可处置对象(导致终结器线程过度工作),VS2015 探查器似乎在找出终结器问题方面并不是特别有效。我使用 JetBrain dotTrace 确实指出了这个问题。

【讨论】:

【参考方案4】:

我找到了这个线程,然后找到了解决方案...至少在 VS2015 Update 3 中,诊断工具 -> CPU 使用率 -> 过滤器下拉菜单有一个“显示外部代码”复选框,选中时会展开所有 [外部代码] 占位符。

【讨论】:

显示外部代码时间,但没有关于您的代码运行多长时间的信息。【参考方案5】:

有时,只是缺乏相关信息可能会导致此类错误。

在我的某些情况下,只需尝试清理解决方案/构建,然后重新开始,问题就会得到解决。

【讨论】:

以上是关于Visual Studio 2015 探查器未显示我的代码中的任何内容的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 性能探查器中的错误结果

Visual Studio XAML 设计器未加载

Visual Studio 链接器未加载库

Visual Studio 2013 无法创建诊断报告

带有 SQL 的 Visual Studio 2010 探查器

从命令行与 Visual Studio 运行 Profiler