【问题标题】:Visual studio 2015 profiler not showing anything from my codeVisual Studio 2015 探查器未显示我的代码中的任何内容
【发布时间】: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 中得到修复。

标签: c++ visual-studio-2015 profiler


【解决方案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】:

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

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

      【讨论】:

        猜你喜欢
        • 2013-11-01
        • 1970-01-01
        • 2016-07-06
        • 1970-01-01
        • 2019-03-23
        • 1970-01-01
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        相关资源
        最近更新 更多