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 探查器未显示我的代码中的任何内容的主要内容,如果未能解决你的问题,请参考以下文章