问题标签 [diagnostic-tools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
699 浏览

debug-diagnostic-tool - VS 中的诊断工具在使用 ASYNC 方法时不会捕获 ADO.NET

我正在开发一个 Web API 并尽可能多地使用异步。我正在将 unitOfWork 模式与存储库模式和 EF 6.1.3 一起使用。我知道在 VS2015 的诊断工具中,我们可以看到 ADO.NET 事件,我们可以检查针对数据库 (SQL) 执行的查询。我的问题是我看不到它们……也许是因为它们是异步的。有没有办法检查执行的查询?我知道执行此操作的其他工具(SQL Profiler / EF 拦截器),但我想在 VS 中使用诊断工具。

0 投票
1 回答
372 浏览

visual-studio - 使 Visual Studio 2017 诊断工具事件窗口自动调整

在 Visual Studio 2017 中,如何使“事件”窗口自动适应“事件”列。我默认全屏打开它,但它总是把它压扁,我必须手动自动调整列。

除了每次手动调整大小之外,还有其他解决方案吗?

有很多有用的信息我经常错过,因为大小意味着除非我积极寻找它,否则我不会阅读它。

在此处输入图像描述

0 投票
1 回答
1056 浏览

visual-studio - Visual Studio 2017 诊断工具不清理日志文件

当我运行 Visual Studio 诊断工具时,它会自动将报告保存到磁盘。这导致在我的临时文件夹中以 Report.GUID 的形式存储约 4mb/分钟

当我退出调试会话时,这些文件没有被清理。经过几天的开发,我最终在我的临时文件夹中获得了数千兆字节的诊断报告。

我可以很容易地手动删除这些但是我如何告诉诊断工具自动清理它们甚至不首先创建它们?如果我将限制设置得很低,它根本不会运行。

我不希望日志持久化,我希望它们存储在内存中并在我停止调试时删除。

这是唯一可用的选项。如果我将磁盘使用率设置为 1%,它每次运行时仍然可以使用多达 1%,并且之后不会清理。

在此处输入图像描述

0 投票
1 回答
113 浏览

c# - 有没有机会,我们可以想象在一个进程(可能是c#)中什么都进入堆栈,什么都进入堆?

我开始探索 Clrmd 以可视化所有进入堆栈和堆的变量,最后在堆中找到了一组 (>1000) 个对象,其中大多数是字符串类型,这些对象不是我在进程和一个堆栈跟踪,它仅提供有关每个线程中的方法(堆栈帧)的信息,但不提供有关方法中存在的变量和其他属性的信息。

我的问题是:

  1. 为什么以及如何在堆中创建这些数量的字符串对象,即使我没有在我的程序中使用任何字符串(c# 代码)。
  2. 有什么方法可以过滤堆对象,以便仅使用 clrmd 或任何其他 nuget 包或工具显示程序使用的对象(我的 c# 代码留下程序内部创建的对象)。
  3. 任何机会我都可以显示在另一个进程中使用进程的堆栈帧(MY C# CODE)的方法中使用的变量集(局部变量)。
0 投票
1 回答
2693 浏览

c# - 无法在 Visual Studio 2017 诊断工具中拍摄本机内存快照

我正在使用 Visual Studio 2017 Community 编写 C# 应用程序。我有一个内存泄漏问题,可能与我滥用一个在本机堆上分配东西的 DLL 有关。我想知道我是如何导致 DLL 不断分配大量内存的。

诊断工具似乎是完成这项工作的理想工具,具有内存快照功能。不幸的是,内存快照仅提供有关托管堆的信息,这在我的情况下非常稳定。

在运行调试器之前,我尝试转到诊断工具设置 -> 内存分析器工具 -> 配置 -> 使用快照启用本机堆分析,但我仍然只能在我的快照中获得托管堆信息。

我尝试在不启用本机堆分析、中断和仅启用本机堆分析的情况下启动调试器。如果我尝试拍摄快照,那么诊断工具会卡在拍摄快照...进度条上。

有人有类似的问题吗?

0 投票
1 回答
1377 浏览

visual-studio-2017 - 调试 Service Fabric 应用时无法连接到诊断事件

我刚刚创建了一个带有无状态 ASP.NET Core Web API 服务的全新 Service Fabric 应用程序作为管理员,并在本地运行了一个 5 机调试集群。当我调试它(​​或任何其他 Service Fabric 应用程序)时,它启动并成功运行(例如,当我使用浏览器或 Postman 导航到端点时,我可以看到预期的输出),我可以看到它在 Service Fabric 中运行良好Explorer 和我可以在 Visual Studio 2017 的调试窗口中看到输出,但在诊断事件(注意,不是诊断工具)面板中看不到任何事件。

当我开始调试时,诊断事件面板按预期显示,但仍为空。我没有应用过滤器(如果我点击“清除过滤器”就没有变化),它在底部显示它已断开连接,显示 0 个事件中的 0 个。但是,如果我单击绿色的“开始”按钮,什么也不会发生,它会继续处于断开连接的状态。

为什么会这样,我怎样才能让它连接,以便我可以看到 ServiceEventSource 调用的输出?

0 投票
1 回答
3033 浏览

visual-studio - Visual Studio 2017 网络诊断工具不适用

我在 Visual Studio Community 2017 中有一个 WPF 项目,我想启用网络诊断调试工具,但它位于Performance profiler...菜单中的“不适用工具”列表下,原因如下:Network tool does not support the selected target。选择的目标是Startup Project

有没有办法在不更改所选目标的情况下使我的项目“适用”?

编辑:我放弃了使用网络诊断工具并最终使用Telerik Fiddler

0 投票
0 回答
682 浏览

visual-studio - 什么是进程内存使用情况?

我有一个在Visual Studio 2017中开发的 32 位应用程序,想了解 VS 诊断工具中显示的进程内存使用情况。据我了解,我的应用程序的总内存使用量约为 330 MB,但使用的堆大小仅为 180 MB。

剩下的 150 MB 内存在用什么?
高进程内存使用对应用程序性能有影响吗?
如果是,我怎样才能减少进程内存使用?

在此处输入图像描述

0 投票
1 回答
4632 浏览

iis - 已超出资源限制。此窗口中的数据收集已停止。视觉工作室 2017

我正在通过 IIS 在 Visual Studio 2017 上运行 ASP.NET MVC Web 应用程序。

诊断工具告诉我警报:

已超出资源限制。此窗口中的数据收集已停止。

截屏:

在此处输入图像描述

它发生在运行大约 5 分钟后。我停止并重新启动它,仍然是同样的事情。

在任务管理器中检查了计算机内存。还有一些空间。

这是什么原因造成的?

0 投票
0 回答
32 浏览

python - Python远程进程诊断工具

我有一个在 IBM symphony 计算云中运行的 python 分布式应用程序。对于应用程序中的其中一个批处理运行,我看到由于少数主机的 ram 几乎已满而导致大量交换。

因此,我正在寻找任何适用于 python 的工具和设置,它可以使我能够诊断这些进程中的每一个,并查看是否存在任何可能的内存泄漏。我以前在 Java 中使用过 JVisual VM 和 Mission Control,但找不到任何类似的 python 工具。

此外,任何有关在 python 中强制/确保垃圾收集的建议都会有所帮助。