首页
学习
活动
专区
圈层
工具
发布

调试 Linux 转储

本文适用于: ✔️ .NET Core 3.0 SDK 及更高版本 在 Linux 上收集转储 在 Linux 上收集转储的两种建议方法是: dotnet-dump CLI 工具 用于在故障时收集转储的环境变量...dotnet-gcdump 工具可用作仅捕获 GC 堆信息但生成可在 Windows 上分析的转储的替代方法。...使用 createdump 的核心转储 作为创建仅托管转储的 dotnet-dump 的替代方法,建议使用 createdump 这一工具在包含本机和托管信息的 Linux 上创建核心转储。...在 Linux 上分析转储 通过使用 dotnet-dump analyze 命令,可以借助 dotnet-dump 工具分析使用 dotnet-dump 收集的托管转储和使用 createdump 收集的核心转储...除非应用是独立应用,否则通常为 dotnet 二进制文件,在本例中,它是不包含 dll 扩展名的应用程序的名称。

2800

如何创建一个带诊断工具的.NET镜像

现阶段的问题 现在是云原生和容器化时代,.NET Core对于云原生来说有非常好的兼容和亲和性,dotnet社区以及微软为.NET Core提供了非常方便的镜像容器化方案。...所以现在大多数的dotnet程序都是部署在各种容器化环境中,比如我们常见的Docker。 微软官方为.NET提供的许多Docker镜像,让我们可以很方便的创建容器化的.NET应用。...而且在没有安装.NET SDK的情况下,我们也无法安装dotnet tool。..."$PATH:/root/.dotnet/tools" 当然我们可以打包一个包含好工具的runtime,供后面使用,就不用每次都安装tool了。...常用的工具 因为公司是自建机房,所以对于存储和网络带宽都比较宽裕,我们一般会在生产环境运行的镜像中安装下面这些工具。

2.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    转储

    转储是一种文件,其中包含创建进程时该进程的快照,可用于检查应用程序的状态。 当很难将调试程序附加到 .NET 应用程序(如生产或 CI 环境)时,可使用转储来调试该应用程序。...备注 转储可能包含敏感信息,因为它们可以包含正在运行进程的全部内存。 处理它们时请考虑所有安全限制和指导。 在发生故障时收集转储 可以使用环境变量将应用程序配置为在发生故障时收集转储。...0 备注 .NET 6 为用于配置 .NET 运行时行为的环境变量标准化前缀 DOTNET_ 而不是 COMPlus_。 但是,COMPlus_ 前缀仍将继续正常工作。...备注 Visual Studio 16.8 及更高版本允许打开在 .NET Core 3.1.7 或更高版本上生成的 Linux 转储。...调试 Linux 转储这一教程分步演示了如何调试在 Linux 中收集的转储。 调试死锁这一教程分步演示了如何使用转储来调试 .NET 应用程序中的死锁。

    2100

    译 | .NET Core 3.0 对诊断的改进

    在 .NET Core中,这些跟踪写入了 Windows 上的 ETW 和 Linux 上的 LTTng。...dotnet-trace 在 3.0-preview5 中,每个 .NET Core 应用程序都会打开一个名为 EventPipe 的双工管道(Windows 上的Unix域套接字*nix/named管道...除了默认事件之外,还可以根据尝试执行的调查启用其他提供程序。 因为运行了 dotnet-trace,您会得到一个 .netperf 文件。此文件包含运行时事件和可按视图可视化的采样 CPU 堆栈。...dotnet-dump 3.0.0-preview5中,我们引入了一个新的工具,允许您捕获和分析 Windows 和 Linux 上的进程转储。...安装 dotnet-dump后,可以通过运行以下命令来捕获进程转储: sudo $HOME/.dotnet/tools/dotnet-dump collect -p 在 Linux 上,可以通过运行以下命令加载生成的转储来分析生成的转储

    2.3K30

    堆分析工具 (dotnet-gcdump)

    查看从 dotnet-gcdump 捕获的 GC 转储 在 Windows 上,可以在 PerfView 中查看 .gcdump 文件,以便进行分析,也可在 Visual Studio 中查看该文件。...备注 在 Linux 和 macOS 上,此命令需要目标应用程序和 dotnet-gcdump 使用同一 TMPDIR 环境变量。 否则,该命令将超时。...备注 若要使用 dotnet-gcdump 收集 GC 转储,需要以与运行目标进程的用户相同的用户身份或以根身份运行。 否则,该工具将无法与目标进程建立连接。...在 .NET Core 3.1 之前,存在一个问题,即使用 EventPipe 调用 gcdump 时,gcdump 之间的类型缓存没有清除。...在 .NET Core 3.1-preview2 之前,存在一个问题,即通过 EventPipe 调用 GC 转储时,不会发送静态和 COM 类型。

    2300

    堆分析工具 (dotnet-gcdump)

    查看从 dotnet-gcdump 捕获的 GC 转储 在 Windows 上,可以在 PerfView 中查看 .gcdump 文件,以便进行分析,也可在 Visual Studio 中查看该文件。...备注 在 Linux 和 macOS 上,此命令需要目标应用程序和 dotnet-gcdump 使用同一 TMPDIR 环境变量。 否则,该命令将超时。...备注 若要使用 dotnet-gcdump 收集 GC 转储,需要以与运行目标进程的用户相同的用户身份或以根身份运行。 否则,该工具将无法与目标进程建立连接。...在 .NET Core 3.1 之前,存在一个问题,即使用 EventPipe 调用 gcdump 时,gcdump 之间的类型缓存没有清除。...在 .NET Core 3.1-preview2 之前,存在一个问题,即通过 EventPipe 调用 GC 转储时,不会发送静态和 COM 类型。

    1.1K30

    调试 .NET Core 中的内存泄漏

    如果所在的操作系统是 Windows,则可以使用 Visual Studio 的内存诊断工具调试内存泄漏。 本教程使用一个示例应用程序,它设计为有意泄漏内存。 本示例作为练习提供。...常见的诊断数据源是 Windows 上的内存转储或 Linux 上的等效核心转储。 若要生成 .NET Core 应用程序转储,可使用 dotnet-dump 工具。...使用之前启动的示例调试目标,运行以下命令以生成 Linux 核心转储: dotnet-dump collect -p 4807 结果是位于同一文件夹中的核心转储。...如果失败的进程在生产服务器上运行,现在是通过重新启动进程进行短期修正的理想时机。 在本教程中,你已经完成了示例调试目标,现在可以将其关闭。 导航到启动服务器的终端并按 Ctrl+C。...有关详细信息,请参阅 Linux 上 .NET Core 的先决条件。 此时会显示一个提示,可在其中输入 SOS 命令。

    2.4K20

    .NET Core CLI 的性能诊断工具介绍

    为我们开发人员提供了一系列功能强大并且无侵入的诊断工具,本文主要介绍的是 .NET Core dotnet 诊断全局工具 先决条件 支持.NET Core 3.0 SDK 及更高版本, .NET Core...命令行接口 (CLI) 工具 dotnet-counters dotnet-counters 是一个性能监视工具,用于临时运行状况监视和初级性能调查, 你可以通过命令查看和存储,当前程序的运行时信息,...,并将它们导出为指定的文件格式以进行后续处理。...dotnet-trace dotnet-trace 是一个跨平台的 .NET Core 工具,在不使用本机探查器的情况下启用正在运行的进程的 .NET Core 跟踪集合, 它是围绕 .NET Core...运行时的跨平台 EventPipe 技术而构建的,在 Windows、Linux 或 macOS 上提供相同体验。

    1.4K31

    .NET Core CLI 的性能诊断工具介绍

    为我们开发人员提供了一系列功能强大并且无侵入的诊断工具,本文主要介绍的是 .NET Core dotnet 诊断全局工具 先决条件 支持.NET Core 3.0 SDK 及更高版本, .NET Core...命令行接口 (CLI) 工具 dotnet-counters dotnet-counters 是一个性能监视工具,用于临时运行状况监视和初级性能调查, 你可以通过命令查看和存储,当前程序的运行时信息,...,并将它们导出为指定的文件格式以进行后续处理。...dotnet-trace dotnet-trace 是一个跨平台的 .NET Core 工具,在不使用本机探查器的情况下启用正在运行的进程的 .NET Core 跟踪集合, 它是围绕 .NET Core...运行时的跨平台 EventPipe 技术而构建的,在 Windows、Linux 或 macOS 上提供相同体验。

    1.2K40

    .NET 生态系统中 LoongArch 与 RISC-V 的整合深度分析

    这意味着开发者在 Loongnix 上编译的.NET 应用程序,可能无法在安装了最新 Arch Linux 或 Debian 的 LoongArch 机器上运行,反之亦然 。...调试工具缺失:官方的诊断工具(如 dotnet-sos, dotnet-dump)往往依赖于特定的原生库构建。...4.1 托管应用部署(Managed Deployment) 对于标准的.NET 应用程序(依赖 JIT),部署的核心在于获取正确的运行时包。...然而,在 RISC-V 和 LoongArch 上启用 Native AOT 面临严峻的工具链挑战。 核心挑战:链接器与 ObjCopy .NET SDK 默认假定使用宿主机的工具链。...核心运行时已能在这两个架构上稳定运行,Native AOT 更是为其在嵌入式领域的应用打开了广阔大门。dotnet/runtime 仓库中活跃的提交记录证明了这一点。

    29510

    .NET Core CLI 的性能诊断工具介绍

    为我们开发人员提供了一系列功能强大并且无侵入的诊断工具,本文主要介绍的是 .NET Core dotnet 诊断全局工具 先决条件 支持.NET Core 3.0 SDK 及更高版本, .NET Core...命令行接口 (CLI) 工具 dotnet-counters dotnet-counters 是一个性能监视工具,用于临时运行状况监视和初级性能调查, 你可以通过命令查看和存储,当前程序的运行时信息,....dmp 输入 help 可以查看所有的命令,这里我想获取托管代码的堆栈信息,输入 clrstack dotnet-trace dotnet-trace 是一个跨平台的 .NET Core 工具,在不使用本机探查器的情况下启用正在运行的进程的....NET Core 跟踪集合, 它是围绕 .NET Core 运行时的跨平台 EventPipe 技术而构建的,在 Windows、Linux 或 macOS 上提供相同体验。...Core 开发的轻量级APM系统, 基于MIT开源协议,主要支持了统计,分析,告警,链路监控,请求日志等, 文档齐全,前段时间也是很荣幸的加入到了 .NET Core Community 组织,目前在准备

    1.9K20

    使用dotnet-monitor sidecar模式 dump docker运行的dotnet程序.

    前情概要随着容器和云技术的发展, 大量的应用运行在云上的容器中, 它们的好处是毋庸置疑的, 例如极大的提高了我们的研发部署速度, 快速的扩缩容等等, 但是也存在一些小小的问题, 例如难以调试.....NET 应用程序会使收集诊断工件(例如,日志、跟踪、进程转储)具有挑战性。...dotnet monitor是一个工具,它提供了一种统一的方式来收集这些诊断工件,无论您是在台式机上运行还是在 kubernetes 集群中运行。...dotnet-monitor 可以连接到dotnet运行时公开的一个诊断端口(diagnostic port)(3.0新提供的新功能), 并通过自定义协议(ipc protocol)与运行时交互, 更多调试知识和工具例如...| 6.3 |在之后的对内存文件的分析可以使用dotnet-dump, lldb等程序.

    1.6K40
    领券