在 Visual Studio 中调试时启用内存使用情况中的实时图表
Posted
技术标签:
【中文标题】在 Visual Studio 中调试时启用内存使用情况中的实时图表【英文标题】:Enable Live Graph in Memory Usage while Debugging in Visual Studio 【发布时间】:2016-12-03 07:04:10 【问题描述】:不知何故,我从 Visual Studio 诊断工具中丢失了实时图表。 下面是我当前的调试屏幕,显示我看不到内存和 CPU 使用情况实时图表:
我在哪里找这个:
我尝试在以下地方以及网上探索:
-
调试 > 探查器 > 性能资源管理器
工具 > 选项 > 调试
工具 > 选项 > IntelliTrace
有人知道如何启用内存和 CPU 使用情况实时图表吗?
【问题讨论】:
我有同样的问题,实时图表工作正常,但现在消失了。你有办法把它带回来吗? 不,我已经更改了一些我不愿意在我的项目中撤消的设置,这导致了这种情况。所以我最终使用诊断会话使用分析工具手动启动它们。 对于未来的访问者:请参阅 Jesper 的 answer。基本上,选项卡窗格一直滚动到顶部,您需要抓住标题下方的灰色条并将其向下拖动。 【参考方案1】:喜欢这个博客:
https://blogs.msdn.microsoft.com/visualstudioalm/2014/11/13/memory-usage-tool-while-debugging-in-visual-studio-2015/
还有一份 MSDN 文档:
https://msdn.microsoft.com/en-us/library/mt125494.aspx
当您想要捕获内存状态时,请选择“内存使用情况摘要”工具栏上的“拍摄快照”。
对于 CPU 使用率,您需要启用它,然后在遇到调试器断点后进行下次调试。
例如,如果我第一次调试 UWP 应用程序,我会在 CPU 使用率窗口下收到一条消息“启用 CPU 分析以查看 CPU 使用率的细分”,我会单击它,然后进行调试下一次的应用程序,我会得到 CPU 使用率。
【讨论】:
我明白您的意思,先生,我在发布此问题之前确实尝试过,但这并没有太大帮助。我想要的是,无论遇到任何断点,它都会向我显示内存、CPU 使用情况的实时图表。由于“一些”变化,它突然停止显示它。 如果之前运行良好,建议你重置VS设置。 重装VS后也无济于事。猜猜它与我的项目配置有关 创建一个新的简单应用怎么样?比如只创建一个空白的UWP应用,调试一下结果如何? 我确实有另一个项目正在做,它工作得很好。【参考方案2】:正如 Rahul 所说,博客中的答案并不能直接解决问题。我有同样的问题,我观察到的是,如果您将现有项目添加到新的解决方案文件中,那么实时图表就会回来。这不是很理想,但它确实提供了一种解决方法。
【讨论】:
我同意新的解决方案文件将完成这项工作,因为我对现有解决方案所做的很少配置(我不知道是什么触发因素)将不再有效。【参考方案3】:您可以在事件、内存使用和 CPU 使用选项卡上方向下拖动一个标尺,隐藏实时图表。
【讨论】:
哇!这对我来说绝对是个问题。多么奇怪。 哇,那是个笨蛋。谢谢。我想知道他们这样藏了多少个复活节彩蛋 谢谢这是我的问题。 @RahulMakwana 你有它。它是屏幕截图顶部蓝色条下方的灰色条。 当我将光标移到“事件”、“内存使用”、“CPU 使用”选项卡和诊断工具标题之间的边缘时,光标不会改变。我不能像其他人提到的那样把它拖到下面。在我发布这个问题之前我已经做了足够的努力,谢谢!【参考方案4】:我遇到了同样的问题,发现光标在窗口标题下方的窄灰色线上发生了变化。尝试单击并将其向下拖动。在明亮的主题上很难注意到,所以在黑暗的主题上可能更难。 希望对你有帮助。
这条细线隐藏了图形:
【讨论】:
问题是:有人知道如何启用内存和 CPU 使用情况实时图表吗?查看在其中一个回复中添加的屏幕截图,他的图表被拖了上来。所以它确实回答了这个问题。【参考方案5】:如果您的诊断工具窗口已关闭,您可以通过Debug > Windows > Show Diagnostic Tools
重新打开它(Ctrl + Alt + F2)
【讨论】:
不,你可以看到诊断工具窗口仍然存在,它只是窗口中缺少的图形以上是关于在 Visual Studio 中调试时启用内存使用情况中的实时图表的主要内容,如果未能解决你的问题,请参考以下文章
启用“仅我的代码”时,Visual Studio 2015 JavaScript 调试不会捕获未处理的异常
Azure Front Door Visual Studio 远程调试
如何在调试构建期间使 Visual Studio (2019/2022) 链接到正常的运行时库?