当前位置: 首页 > news >正文

使用Drwtsn32和NTSD进行崩溃进程转储

使用Drwtsn32NTSD进行崩溃进程转储

 

当我们的程序在客户那里崩溃时,使用崩溃转储工具获取崩溃现场的信息是很有必要的,否则单纯依赖用户的口头描述很难定位问题所在。Drwtsn32NTSDUserDumpAutodump+WinDbg都是Windows下的崩溃转储工具,其原理就是在程序崩溃时获取相应的信息并存储。Drwtsn32NTSDWindows自带的程序,客户系统中一定存在这个程序,我们可以方便的使用它进行崩溃转储。我们也可以自己编写一个类似的转储工具并注册成系统默认的调试器。我们也可以在进程内使用SetUnhandledExceptionFilter中注册一个ExceptionFilter函数,在这个函数中创建我们自己的转储工具生成转储信息。一般来说,当出现未处理的异常时,最好不要在ExceptionFilter函数中进行过多的处理并生成转储信息,因为这时程序的堆、栈可能已经不可用了。

 

使用Drwtsn32进行崩溃进程转储

首先运行”Drwtsn32 i”命令把Drwtsn32设置为默认的调试器。然后运行Drwtsn32设置转储选项,一般使用默认的选项就行了。选项如下图所示:

如果想在进程崩溃时得到通知可以选择视觉通知和声音通知。如果不选择附加到现有日志文件,则每次程序出错都创建新的日志文件,会把以前的日志文件覆盖,所以最好选择附加到现有日志文件。转储文件默认保持到“C:/Documents and Settings/All Users/Application Data/Microsoft/Dr Watson/user.dmp“,新生成的转储文件user.dmp会把以前的转储文件覆盖,这是Drwtsn32非常不方便的一个地方,它不能为每个文件生成一个唯一的文件名。

 

使用NTSD进行崩溃进程转储

NTSDWindows 2k/XP自带的调试器,虽然它的版本比较老(与最新的WinDbg附带的版本相比),不过用来做崩溃进程转储已经够用了。首先需要手工把NTSD设置为默认的调试器,打开注册表,

设置“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AeDebug/Debugger”为

c:/windows/system32/ntsd.exe -p %ld -e %ld -g -c ".dump /m /u D:/dump.dmp;q"”。

设置后转储文件会放在D盘根目录下面,每个文件都有一个唯一的文件名,文件名格式是“dump_日期_时间_进程ID_.dmp

设置“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AeDebug/Auto”为1.

NTSD命令参数的具体含义可以参考WinDbg的文档。NTSD可以为每个转储文件生成唯一的文件名,所以不用担心文件互相覆盖的问题。

 

有了转储文件我们就可以使用WinDbgVisual Stdio慢慢分析了。

 
http://www.lryc.cn/news/570420.html

相关文章:

  • Nsfocus-绿盟科技笔试题目(转)
  • 【AI学习】【Ubuntu 22.04】【安装Ollama】两种方式
  • 电脑上的.ssh目录只做什么的
  • Android 开源项目分类汇总--1
  • linux命令--test
  • Oracle数据库还原DMP文件
  • JSP详细篇——Servlet(一)
  • 在互联网公司中:有些程序员,本质是一群被圈养的羊!
  • 二维前缀和
  • AutoCAD2012安装失败解决办法,Failed Installation aborted, Res
  • Ext4 vs xfs
  • NodeJS的fs模块的readFile和createReadStream区别以及常见方法
  • 《AI辅助编程:从零掌握核心逻辑》工作坊开业
  • 龙影辅助lua脚本调用_skynet之lua服务
  • Apple开发者账号介绍及证书配置详细说明
  • linux没有manconfig文件,linux shell man命令详细介绍
  • anaconda安装及问题解决
  • Goby 漏洞发布|亿赛通电子文档安全管理系统 ClientLoginWeb 接口远程代码执行漏洞_亿赛通电子文档安全管理系统代码执行漏洞(cnvd-2024-59457)
  • 2008入搜狗,见证搜狗浏览器的诞生!说说我在搜狗做测试这些年…
  • windows系统进程详解
  • 134-135Elements-UI组件库
  • CISP 考试教材《第 4 章 知识域:业务连续性》知识整理
  • 腾讯大数据实时分析引擎Hermes揭秘
  • 下载 kaakoo 咔咕 http://job.kaakoo.cn/download.aspx?ID=T679
  • Linux编程:3、进程通信-信号
  • 【三刷C语言】数据的存储
  • 永远的优客李林——Just for you
  • DS18B20 温度传感器
  • java复习 13
  • VMware ESXi 各版本号对照表