Windows Subsystem for Linux 是微软的成功典范之一,它允许开发者在 Windows
平台上部署 Linux 桌面环境,并使用 Linux
工具来完成任务。与此同时,微软也不断提升 Windows 工具在 Linux
平台的易用性和实用性,并将 Sysinternals 工具移植到 Linux
平台。近日,我们留意到微软发布了澳门新葡萄京官网注册, Linux
版的 Sysinternals 工具 ProcDump,源代码采用 MIT 许可证发布在 GitHub
上。

ProcDump是一个可以用于诊断多种问题点的命令行工具。和Dr.Watson、ADPlus以及DebugDiag一样,ProcDump可以在不期望的情况或者异常发生时,用于俘获一个进程的内存转储。而且也同ADPlus以及DebugDiag一样,它可以对一个挂起的应用程序强制进行进程转储。但和之前的任何工具不同的是,ProcDump可以在CPU的活动峰值达到一个指定的级别时,对一个进程进行转储。这对于那些间歇性的性能问题是特别有用的,对于这种问题,其发生是很难预测的。

Sysinternals 实用程序可帮助您管理、解决和诊断 Windows 系统和应用程序,在
Sysinternals 的 2016 年 11 月更新中,微软增强 在 sysmon
对注册表和文件事件的监控并对 Procexp、Procdump 和 LiveKd
进行了功能改进。

ProcDump 是一个命令行工具,主要用途是监视应用程序的
CPU 峰值,生成相关的故障转储(crash dumps)供管理员或开发者判断导致 CPU
峰值的原因。

ProcDump包括一个单独的可执行文件(procdump.exe),而这个文件可以接受多种不同的参数。当不带任何参数时,ProcDump工具会在保持应用程序执行的情况下,强制进行一个内存转储。

Sysinternals 2016年11月更新汇总

  • Sysmon
    v5

此次 Sysmon
更新的后台监控器可以将「活动」(文件创建和注册表修改日志)记录到事件日志当中,以用于安全事件检测和取证,这些事件类型让配置筛选器能够捕获关键系统配置的变更和恶意软件对自启动入口点的更改。

  • Process Explorer
    v16.20

此次更新的 Process Explorer 版本新增了进程控制流保护 (CFG)
状态和反映进程数据执行保护 (DEP)
配置变更的动态更新功能,让其成为更强大的进程管理和诊断实用程序。

  • Procdump
    v8.2

Procdump
是一款根据需要或基于(包括内存、CPU、异常和性能计数器阈值)触发器生成进程转储的命令行工具。此更新版本增加了一个 -kill 参数,可在转储完成后直接终止进程,而不将异常传递到
Windows Error Reporting (WER) 再用 -wer 开关将
dump 复制到 WER 队列。

  • LiveKd
    v5.6

LiveKd
是一个能够对实时系统或虚拟机进行交互式内核调试分析的工具,其为脚本分析而设计的批处理模式选项,可在
debugger 会话中止后省略重新执行 LiveKD 的提示。

如果你对该套工具不了解,可以先从 SysInternals
工具集是什么开始。老鸟用户可以直接官方下载
11 月更新包,或者配置 SysInternals
自动更新。

 

澳门新葡萄京官网注册 1

通过使用-h参数,ProcDump会检测一个挂起的Windows应用程序,并强制进行内存转储。这与ADPlus和DebugDiag中的功能很相似。使用-e参数可以使得ProcDump去检测应用程序的一个未处理的异常,并获取进程转储。通过接下来对进程转储的分析,您可以弄清哪些程序、DLL以及错误情况在中断时发生了。这可以让您通过在网上进行智能的搜索,找到相似的场景,以便确定是否发生了一个已知的问题点,或者您是否需要和卖方进行联系。

Linux 版本的 ProcDump 可以让 Linux
开发者基于性能触发器生成其应用程序的核心转储(core dumps),已测试支持的
Linux 发行版包括 Red Hat Enterprise Linux / CentOS 7、Fedora 26、Mageia
6 和 Ubuntu 14.04 LTS。

让ProcDump和之前的工具与众不同的是,它可以检测CPU峰值,并在达到时,收集进程转储。对于别人无法干预的间歇性问题,这是非常有用的。有三个参数可以实现这一功能:

此外,微软首席开发高级工程师、Advanced Windows Debugging 和 Advanced
.NET Debugging 的作者 Mario Hewardt 表示,微软目前也正在研发 ProcMon。

-c 在产生一个进程转储前,指定CPU达到的阈值。

来自:solidot

-s 指定达到该阈值的持续时间秒数

-u 指定CPU为单核

 

下载地址:

New ProcDump version 5.0 released, using the –f
parameter

介绍一个好用的抓取dump的工具-ProcDump

关于无法打印的案例

Windbg调试新手入门