01-windows调试工具(ProcDump使用)

这篇具有很好参考价值的文章主要介绍了01-windows调试工具(ProcDump使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 工具msdn下载地址:https://learn.microsoft.com/zh-cn/sysinternals/downloads/procdump
  • csdn的下载地址:windows调试工具-C++文档类资源-CSDN下载
  • ProcDump简介:
    • 详细的使用说明参考:https://learn.microsoft.com/zh-cn/sysinternals/downloads/procdump
    • ProcDump 是一个命令行实用工具,其主要用途是监视应用程序的 CPU 峰值,并在出现峰值期间生成故障转储。
    • ProcDump 还包括挂起窗口监视 (使用 Windows 和任务管理器使用) 、未经处理的异常监视的窗口挂起定义,并且可以基于系统性能计数器的值生成转储。 
    • 监视指定的进程到程序异常的时候,生成DMP文件
    • 进程的运行期间生成DMP文件
  • ProcDump的转储类型:
  • -mm 写入“Mini”转储文件。 (默认值)
    - 包括直接或间接引用的内存 (堆栈及其) 引用的内容。
    - 包括 (进程、线程、模块、句柄、地址空间等) 的所有元数据。
    -ma 写入“完整”转储文件。
    - 包括所有内存 (映像、映射和专用) 。
    - 包括 (进程、线程、模块、句柄、地址空间等) 的所有元数据。
    -mt 写入“会审”转储文件。
    - 包括直接引用的内存 (堆栈) 。
    - 包括有限的元数据 (进程、线程、模块和句柄) 。
    - 尝试删除敏感信息,但不能保证。
    -mp 编写“MiniPlus”转储文件。
    - 包括所有专用内存和所有读/写映像或映射内存。
    - 包括 (进程、线程、模块、句柄、地址空间等) 的所有元数据。
    - 为了最小化大小,将排除超过 512MB 的最大专用内存区域。
      内存区域定义为相同大小的内存分配的总和。
      转储与完整转储一样详细,但大小为 10%-75%。
    - 注意:由于调试限制,CLR 进程将转储为 Full (-ma) 
    -mc 写入“自定义”转储文件。
    - 包括由指定的 MINIDUMP_TYPE 掩码 (十六进制) 定义的内存和元数据
    -md 编写“回调”转储文件。
    - 包括由 MiniDumpWriteDump 指定 DLL 命名 MiniDumpCallbackRoutine 的回调例程定义的内存。
    - 包括 (进程、线程、模块、句柄、地址空间等) 的所有元数据。
    -mk 此外,还要编写“内核”转储文件。
    - 包括进程中线程的内核堆栈。
    - 使用克隆 () -mk 时,OS 不支持内核转储 (-r) 。
    - 使用多个转储大小时,将针对每个转储大小进行内核转储
  • 条件说明:文章来源地址https://www.toymoban.com/news/detail-420681.html

  • 条件 说明
    -a 避免中断。 需要 -r。 如果触发器会导致目标由于超出并发转储限制而长时间挂起,则将跳过该触发器。
    -at 避免超时时中断。 在几秒钟内 N 取消触发器的收集。
    -b 将调试断点视为异常, () 忽略它们。
    -c CPU 阈值高于该阈值,用于创建进程的转储。
    -cl CPU 阈值低于该阈值,用于创建进程的转储。
    -dc 将指定的字符串添加到生成的转储注释。
    -e 当进程遇到未经处理的异常时写入转储。
    包括 以 1 在出现第一次机会异常时创建转储。
    添加 -ld 以在加载 DLL (模块) 时创建转储, (筛选) 应用。
    添加 -ud 以在卸载 DLL (模块) 时创建转储, (筛选) 应用。
    添加 -ct 以在创建线程时创建转储。
    添加 -et 以在线程退出时创建转储。
    -f 筛选器 (包括) 异常内容、调试日志记录和 DLL 加载/卸载时的文件名。 支持通配符 (*) 。
    -fx 筛选器 (DLL 加载/卸载时排除异常内容、调试日志记录和文件名的) 。 支持通配符 (*) 。
    -g 在托管进程中作为本机调试器运行, (无互操作) 。
    -h 如果进程有一个挂起的窗口, (至少 5 秒) 不响应窗口消息,则写入转储。
    -k 克隆 (-r) 后或在转储收集结束时终止进程。
    -l 显示进程的调试日志记录。
    -m 创建转储的内存提交阈值(以 MB 为单位)。
    -ml 当内存提交低于指定的 MB 值时触发。
    -n 退出前要写入的转储数。
    -o 覆盖现有转储文件。
    -p 当性能计数器达到或超过指定的阈值时触发。 某些计数器和/或实例名称可能区分大小写。
    -pl 当性能计数器低于指定的阈值时触发。
    -r 使用克隆进行转储。 并发限制是可选的, (默认为 1,最大为 5) 。 使用克隆 () -mk 时,OS 不支持内核转储 (-r) 。 警告: 高并发值可能会影响系统性能。
    - Windows 7:使用反射。 OS 不支持 -e
    - Windows 8.0:使用反射。 OS 不支持 -e
    - Windows 8.1+:使用 PSS。 支持所有触发器类型。
    -s 写入转储前的连续秒 (默认值为 10) 。
    -t 进程终止时写入转储。
    -u Treat CPU usage relative to a single core (used with -c).
    -v 仅调试: 详细输出。
    -w 如果指定的进程未运行,请等待启动。
    -wer 将 (最大的) 转储排队到Windows 错误报告。
    -x 使用可选参数启动指定的映像。 如果是应用商店应用程序或包,ProcDump 将在下次激活 (仅) 启动。
    -y 隐藏: 应用商店应用程序激活。
    -64 默认情况下,在 64 位 Windows 上运行时,ProcDump 将捕获 32 位进程的 32 位转储。 此选项替代以创建 64 位转储。 仅用于 WOW64 子系统调试。
  • Procdump的异常DMP文件生成
    • 32位系统打开procdump.exe,64位系统则打开procdump64.exe
    • 指定某一个进程,立即生成一个dump文件,如果进程不存在,等待进程启动
    • procdump64.exe  -w   进程名称   (进程启动后立马生成dmp文件)
    • procdump64.exe  -e  -w   进程名称   (进程异常后立马生成dmp文件)
      01-windows调试工具(ProcDump使用)
      01-windows调试工具(ProcDump使用)
    • procdump  -ma   4778(直接生成进程号为4778的Full Dump)
    • procdump64.exe  -ma  -t  进程ID(指定的进程异常后生成一个全dmp文件)
    • 01-windows调试工具(ProcDump使用)
  • ProcDump高CPU的DMP文件生成
    • 当系统 CPU 使用率持续 5 秒超过 70% 时,连续抓 3 个 Full Dump
      • procdump -c 70 -s 5 -ma -n 3  进程名称/进程ID
    • 当系统 CPU 使用率超过 80%,抓取test.exe 进程的 Mini Dump。
      • procdump test  -p "\Processor(_Total)\% Processor Time" 80
    • 当test.exe的句柄数超过1000时,抓取dmp文件
      • procdump -ma test -p "\Process(test)\Handle Count" 10000
  • windbg分析:
    • 将生成的dmp文件,使用windbg工具进行分析

到了这里,关于01-windows调试工具(ProcDump使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序入门01-工具的下载安装及模板的安装

    小程序开发现在已经有多种模式了,有使用uniapp开发的,使用微信开发者工具开发的,还有低代码工具也支持开发小程序的。 在众多开发模式中,使用官方开发者工具开发也是一种形式。本篇我们就介绍一下如何用微信开发者工具搭建小程序的开发环境。 官方提供的开发者

    2024年02月11日
    浏览(25)
  • 【PC电脑windows环境下-[jetson-orin-NX]Linux环境下-下载工具esptool工具使用-相关细节-简单样例-实际操作】

    硬件信息:开发板 ESP32-S3-DevKitM-1(EPS32-S3-wroom-1模块) 其它硬件:一个usb-type-c连接线。 软件环境:ESP-IDF 5.0 PowerShell 、vscode ESP32对自己来说还是比较新的,最近也是刚刚接触,这里对自己使用ESP32进行简单说明。 博文链接:【在英伟达nvidia的jetson-orin-nx和PC电脑ubuntu20.04上-装

    2024年02月05日
    浏览(51)
  • 第六天 01-hydra工具windows远程桌面的密码爆破

    RDP是Windows的远程桌面协议。所占用的端口默认为3389,这个是可以修改的。 爆破工具:kali使用hydra(九头蛇)工具进行密码爆破。 hydra语法: ​ hydra IP地址 rdp -l 用户名 -P 密码字典 -V rdp 即RDP协议 -l 小写的l 后面加单用户名,已知用户名 -L 大写的L后面加的是用户名字典,破

    2023年04月08日
    浏览(41)
  • 0505-stm32的调试工具:vscode下jlink或stlink下载及调试+设置快捷键

    目录 1.1-综述 2-vscode实现一键下载stm32 2.1-jlink的下载与擦除的makefile修改 2.2-stlink的下载与擦除的makefile修改  2.3-提升一点效率:使用tasks.json配置用户任务(下拉菜单) 1-tasks.json干啥用的 2-如何创建tasks.json?  3-tasks.json的文件编辑 4-tasks的使用方法  2.4-再提升一点效率:使用

    2024年02月13日
    浏览(33)
  • windbg-windows调试工具来抓端游crash dump

    windbg下载有两种方式: Install WinDbg - Windows drivers | Microsoft Learn 从微软应用商店下载 dump上的windows的局部变量解析部分进行windbg本地解析查看 下载对应crash链接中的dmp(即minidump)、pdb、exe文件至本地 打开winDbg工具,进行配置 配路径:Settings —— Debugging settings—— Source path配

    2024年02月19日
    浏览(28)
  • 微信开发者工具下载及小程序项目的创建与调试(完整图文教程)

    每每有工具下载相关博客必有一句话:工欲善其事,必先利其器。 承接上文,本文将介绍微信开发者工具下载及小程序项目结构与工具的详细讲解,使得更容易能够在这个平台上创造出优秀的小程序产品。 前往开发者工具下载页面,根据自己的操作系统下载对应的安装包进行

    2024年04月11日
    浏览(73)
  • 微信小程序开发者工具基础库下载调试基础库失败的解决办法,填坑DNS问题。

    如下图: 站长工具查Ip的地址是:http://tool.zhiduopc.com/ip 查询结果如下图: 结论:res.servicewechat.com这个域名对应的ip是:125.77.176.247 首先打开文件hosts。路径通常为:C:WindowsSystem32driversetc 截图如下: 如果有C:WindowsSystem32driversetc路径但里面没有hosts文件,则新建一个。不会

    2024年02月06日
    浏览(50)
  • 【软件工具】之下载微软官方正版 windows 系统

    1、进入微软官网 微软官网地址:https://www.microsoft.com/zh-cn/,点击导航栏上的 Windows 按钮: 2、进入WINDOWS支持页面 进入 windows 页面后,拉倒页面的最底下,点击 WINDOWS支持 : 3、进入安装和更新页面 进入 【WINDOWS支持】 页面后面,点击 安装和更新 按钮: 4、进入windows镜像下载

    2024年02月07日
    浏览(48)
  • SpringCould微服务保护01——Sentinel组件下载并使用

    1.1.1.雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。 如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时,其它不依赖于服务I的业务似乎不受影响。 但是,依赖服务I的业务请求被阻塞

    2024年02月07日
    浏览(34)
  • Curl【实例 01】curl下载使用及cmd实例脚本分享(通过请求下载文件)

    Curl 官方下载地址 可下载不同平台不同版本的安装包,本次使用的是Windows解压版本 curl-8.0.1_9-win32-mingw.zip 。 1.1 curl curl是一个开源的命令行工具和库,用于在终端和脚本中进行网络数据传输。它支持多种协议,如HTTP、HTTPS、FTP、SMTP等,可以通过URL进行数据传输和通信。 curl的

    2024年02月07日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包