问题标签 [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.
debug-diagnostic-tool - VS 中的诊断工具在使用 ASYNC 方法时不会捕获 ADO.NET
我正在开发一个 Web API 并尽可能多地使用异步。我正在将 unitOfWork 模式与存储库模式和 EF 6.1.3 一起使用。我知道在 VS2015 的诊断工具中,我们可以看到 ADO.NET 事件,我们可以检查针对数据库 (SQL) 执行的查询。我的问题是我看不到它们……也许是因为它们是异步的。有没有办法检查执行的查询?我知道执行此操作的其他工具(SQL Profiler / EF 拦截器),但我想在 VS 中使用诊断工具。
c# - 有没有机会,我们可以想象在一个进程(可能是c#)中什么都进入堆栈,什么都进入堆?
我开始探索 Clrmd 以可视化所有进入堆栈和堆的变量,最后在堆中找到了一组 (>1000) 个对象,其中大多数是字符串类型,这些对象不是我在进程和一个堆栈跟踪,它仅提供有关每个线程中的方法(堆栈帧)的信息,但不提供有关方法中存在的变量和其他属性的信息。
我的问题是:
- 为什么以及如何在堆中创建这些数量的字符串对象,即使我没有在我的程序中使用任何字符串(c# 代码)。
- 有什么方法可以过滤堆对象,以便仅使用 clrmd 或任何其他 nuget 包或工具显示程序使用的对象(我的 c# 代码留下程序内部创建的对象)。
- 任何机会我都可以显示在另一个进程中使用进程的堆栈帧(MY C# CODE)的方法中使用的变量集(局部变量)。
c# - 无法在 Visual Studio 2017 诊断工具中拍摄本机内存快照
我正在使用 Visual Studio 2017 Community 编写 C# 应用程序。我有一个内存泄漏问题,可能与我滥用一个在本机堆上分配东西的 DLL 有关。我想知道我是如何导致 DLL 不断分配大量内存的。
诊断工具似乎是完成这项工作的理想工具,具有内存快照功能。不幸的是,内存快照仅提供有关托管堆的信息,这在我的情况下非常稳定。
在运行调试器之前,我尝试转到诊断工具设置 -> 内存分析器工具 -> 配置 -> 使用快照启用本机堆分析,但我仍然只能在我的快照中获得托管堆信息。
我尝试在不启用本机堆分析、中断和仅启用本机堆分析的情况下启动调试器。如果我尝试拍摄快照,那么诊断工具会卡在拍摄快照...进度条上。
有人有类似的问题吗?
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 调用的输出?
visual-studio - Visual Studio 2017 网络诊断工具不适用
我在 Visual Studio Community 2017 中有一个 WPF 项目,我想启用网络诊断调试工具,但它位于Performance profiler...
菜单中的“不适用工具”列表下,原因如下:Network tool does not support the selected target
。选择的目标是Startup Project
有没有办法在不更改所选目标的情况下使我的项目“适用”?
编辑:我放弃了使用网络诊断工具并最终使用Telerik Fiddler。
python - Python远程进程诊断工具
我有一个在 IBM symphony 计算云中运行的 python 分布式应用程序。对于应用程序中的其中一个批处理运行,我看到由于少数主机的 ram 几乎已满而导致大量交换。
因此,我正在寻找任何适用于 python 的工具和设置,它可以使我能够诊断这些进程中的每一个,并查看是否存在任何可能的内存泄漏。我以前在 Java 中使用过 JVisual VM 和 Mission Control,但找不到任何类似的 python 工具。
此外,任何有关在 python 中强制/确保垃圾收集的建议都会有所帮助。