设置Windows下的Core文件输出(监控异常进程)

来源:互联网 发布:单片机交通灯流程图 编辑:程序博客网 时间:2024/04/30 01:22

今天我们介绍Windows系统的私人医生-华生医生,华生医生(Dr.Watson)是一个调试程序错误的程序。

  如果出现程序错误,Dr.Watson 将自动启动并检测出错的程序,只要检测到错误,就会创建一个文本文件 (Drwtsn32.log),这是一个可以被技术人员加载到调试程序中的二进制文件。

  如果要手工启动Dr.Watson,则需要打开“开始”菜单,单击“运行”,然后键入“drwtsn32”。

  下面我们来详细的看看华生医生到底有哪些独门绝技,能够被委以Windows医生的大任。图1所示是Dr.Watson的主界面。

 

图1 程序主界面

  一、日志文件路径

  日志文件位置必须是本地计算机上的有效路径。系统的默认位置是:Documents and Settings/All users/Application Data/Microsoft/Dr Watson 文件夹,在第一次运行Dr. Watson 时会创建这个文件夹。
如果检测到程序错误,Dr. Watson 会创建包含程序错误诊断信息的Drwtsn32.log 文件。单击“浏览”按钮可以自定义日志文件的储存位置,但是必须注意的是,所有用户都具有自定义路径的“写入”权限。

  二、故障转储

  如果选中了“创建故障转储文件”复选框,那么就需要指定故障转储文件的储存位置。系统默认为:Documents and Settings/All users/Application Data/Microsoft/Dr Watson/user.dmp。故障转储文件是一个可以加载到调试程序中的二进制文件。单击“浏览”按钮可以选择不同的故障转储文件或位置。同样要确保所指定的路径是所有用户都具有“写入”权限的。

  三、波形 文件

  如果选中了“声音通知”,那么当应用程序出现错误时,Dr. Watson 会使用WAV 文件播放声音。声音文件必须是 .wav 文件并且与Microsoft WAV 文件格式一致。也就是说如果该WAV文件可以使用“媒体播放机”播放,则该文件是有效的WAV 文件。

  四、其他

  “指令数量”是指在每个线程状态转储的当前程序计数器前后,Dr. Watson 将反汇编的最多指令数。“要保存的错误数量”是指Dr. Watson 在日志文件中记录的最多错误数。而“转储符号表”则是指定 Dr. Watson 是否转储每个模块的符号表。

  如果选中“转储全部线程上下文”,Dr. Watson 会记录引起错误的程序中每个线程的状态。否则,Dr. Watson只记录引起程序错误的线程的状态。

  “附加到现有日志文件”是指Dr. Watson 是否将诊断信息附加到现有的Drwtsn32.log 文件的末尾,选中这个选项可能会使日志文件变得非常大。如果不选中这个选项,则Dr. Watson 会为每个程序错误都创建新的日志文件。

  如果选中“视觉通知”,则当检测到程序错误时,Dr. Watson会提供带有“确定”按钮的消息框告诉你检测到程序错误。

  在“应用程序错误”框中列出了Dr. Watson检测到的程序错误信息。“查看”按钮用于显示在“应用程序错误”列表中所选错误的日志文件信息。而“清除”按钮则是清除“应用程序错误”列表中显示的所有事件日志错误项。

由此可见这是一个相当有用处的系统工具,只是这般频繁的出现程序错误,叫人费解。。。还是正版系统来,晕……

如何禁用该工具:下面是WINDOWS官方网站的解释:

要禁用 Dr. Watson,请按照下列步骤操作

1. 单击开始,单击运行,在打开框中键入 regedit.exe,然后单击确定。 2. 找到并单击以下注册表项:

HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/ AeDebug
注意:步骤 3 和步骤 4 是可选的;如果您要还原使用 Dr. Watson 的默认设置,则需要执行这两个步骤。 3. 单击 AeDebug 项,然后单击注册表菜单上的导出注册表文件。 4. 为要保存的注册表文件输入名称和位置,然后单击保存。 5. 删除 AeDebug 项。 在 Windows 中,调试程序的注册表项位于 AeDebug 项中。默认情况下,Dr. Watson 程序安装在 Windows 中,并配置为在发生应用程序错误时运行(Auto 值的数据值为 1)。默认值为:

数值名称 = Auto
类型 = 字符串 (REG_SZ)
数据值 = 1 或 0。(默认值为 1)

数值名称 = Debugger
类型 = 字符串 (REG_SZ)
数据值 = drwtsn32 -p %ld -e %ld -g

注意:该数据值 (drwtsn32 -p %ld -e %ld -g) 是 Dr.Watson 专有的。其他调试程序将具有它们自己的值和参数。

要启用 Dr. Watson,请按照下列步骤操作

1. 在命令提示符处键入以下命令行,然后按 Enter 键:

drwtsn32 -i 2. 双击在上述步骤 3 和步骤 4 中创建的 .reg 文件。

PS:由于日志文件长时间运行较大,建议在调试版本或测试时使用。

原创粉丝点击