1

我听到很多关于使用 Visual Studio 2015 和 Intellitrace 中的新诊断工具调查 CPU 和内存问题的新功能。假设我需要在生产环境中解决高内存或 CPU 问题。我知道我可以从生产环境中收集 iTrace 文件,但它对于确定高内存/cpu 的原因是否有用?到目前为止,我看到的所有 Intellitrace 用例都与异常等不良行为有关,但我希望看到任何有关使用 Intellitrace 解决生产内存/cpu 问题的教程。

4

3 回答 3

1

确实,您可以使用Standalone Collector在生产环境中记录IntelliTrace日志。但是,这些日志不会包含任何有关 CPU/内存使用的信息(实际上iTrace文件仅包含有关方法调用的信息)。

这意味着如果您在 Visual Studio 中打开生产环境中记录的iTrace文件,您将只看到记录的诊断事件列表和调用树(如果 IntelliTrace 配置为收集调用信息)。诊断工具窗口将不可用。如果您尝试打开它,则会报告以下错误消息:

诊断工具窗口不支持当前的调试配置。

如果您想使用Visual Studio 2015 诊断工具来分析生产中的 CPU/内存使用情况,您可能对使用命令行分析工具感兴趣。但是,我还没有尝试过这种方法,所以我不知道它是否方便。第二个问题可能是许可。我不确定这些命令行工具是否可以在不安装 VS 的情况下使用。

于 2016-02-10T12:31:05.173 回答
0

我建议为具有生产环境的目标机器建立远程调试。您不需要在目标上安装 Visual Studio,但您需要安装Remote Tools。在调试时,您可以使用CPU 使用率内存使用率工具。

除了这个答案,我还要补充一点:1)从命令行使用分析工具是指性能和诊断中心中性能向导工具的命令行界面,而 CPU 使用和内存使用工具目前没有命令行界面; 2) 您无需安装 Visual Studio IDE 即可从命令行使用 Profiling Tools。

于 2016-02-13T04:52:00.397 回答
0

您可以在应用程序中构建一个诊断线程来监控异常行为,并在不停止操作的情况下进行有限的转储。

可以创建不执行任何操作的虚拟方法,您在可疑代码中运行并为其提供一些字符串或 int 参数。这些将被捕获到 IntelliTrace 中,因此您可以在 Intellitrace 日志中跟踪性能、cpu 等值等。

于 2016-05-10T04:43:31.413 回答