Debugging Tools for Windows

!evlog

!evlog扩展命令用于显示、修改或者备份事件日志(event log)。

语法

!evlog addsource [-d] [-s Source] [-t Type] [-f MsgFile
!evlog backup [-d] [-l EventLog] [-f BackupFile
!evlog clear [-!] [-d] [-l EventLog] [-f BackupFile
!evlog info 
!evlog option [-d] [-!] [-n Count] [ -l EventLog [ -+ | -r RecordBound ]] [-o Order] [-w Width
!evlog read [-d] [-l EventLog] [-s Source] [-e ID] [-c Category] [-t Type] [-n Count] [-r Record
!evlog report [-s Source] [-e ID] [-c Category] [-t TypeMessage 
!evlog [Option-? 

参数

addsource
将一个事件源(event source)加入到注册表中。默认情况下,只会添加来自DebuggerExtensions的事件(用于支持!evlog report)。
backup
对指定的事件日志创建一个备份,并且写入到文件中。
clear
清除指定的事件日志,并且选择性的创建一个文件用于保存它的旧内容。
info
显示事件日志的摘要信息。
option
设置默认的搜索选项。这些选项用于之后的!evlog read命令。
read
显示记录到指定的事件日志中的事件清单。输出的详细程度 — 例如要显示的记录条数和排序方式 — 可以通过!evlog read的参数或者之前使用!evlog option来控制。
report
将某个事件记录写入应用程序事件日志(application event log)中。
-d
指定要使用的所有默认值。-d选项仅在省略了其他所有参数时需要使用。但是,和!evlog option一起使用时可以用来显示已存在的默认设置。
-!
!evlog option一起使用来重置为默认选项。和!evlog clear一起使用 阻止创建备份文件。
Source
指定事件源。默认值为DebuggerExtensions
Type
指定成功类型(success type)。可能的Type值有 1 (Error)、 2 (Warning)、 4 (Information)、 8 (Audit_Success)、或者16 (Audit_Failure)。值为0表示成功。对于!evlog read!evlog report,默认是成功Success (0)。对于!evlog addsource,可以结合使用这些位,并且默认设置了所有位(31)。
MsgFile
指定消息文件的路径和文件名。如果省略路径,则使用当前Uext.dll所在目录。
EventLog
对于!evlog read!evlog backup、和!evlog clearEventLog指定要读取哪个事件日志。可能的值有ApplicationSystem、和Security。默认为Application

对于!evlog optionEventLog指定要设置最大数量(maximum count)的事件日志。可能的值有AllApplicationSystemSecurity。默认为All

BackupFile
指定备份文件的路径和文件名。默认位置是当前目录。默认文件名是EventLog_backup.evtEventLog是在该命令中使用的事件日志。如果文件已经存在,命令会终止执行。
Count
指定要获取的记录的最大数量。默认为20。
-+
指定用后面的!evlog read命令获取的最大记录数量作为当前最大记录数量。(换句话说,只要前面没有进行过搜索就不会显示出记录来。)
RecordBound
指定之后的!evlog read命令能获取的最大记录数量。如果指定0,则不会有限制 — 这是默认。
Record
如果没有包含-n Count-r Record 用于指定要获取的记录条数。如果包含了-n CountRecord用于指定显示从第几条记录开始。
Order
指定搜索顺序,可以是ForwardsBackwards。默认为Forwards。反向搜索会从最近一次记录到事件日志中的记录开始,并且反方向进行搜索直到找到匹配项。
Width
指定数据显示的宽度,以字符为单位。这是在Data部分的显示宽度。默认为8个字符。
ID
指定事件之前要显示的前缀。可以使用的值有 0 (no prefix)、 1000 (Information)、2000 (Success)、 3000 (Warning)、和 4000 (Error)。默认为0。
Category
指定事件种类。可使用的值有0 (no category)、 1 (Devices)、 2 (Disk)、 3 (Printers)、 4 (Services)、 5 (Shell)、6 (System_Event)和 7 (Network)。默认为0。
Message
指定要添加到事件描述中的文本消息。
Option
指定要显示某个!evlog选项的帮助文本。
-?
在调试器命令窗口中显示该扩展命令的简短帮助。

DLL

Windows 2000 Uext.dll
Windows XP和之后 Uext.dll

!evlog扩展只能在活动调试时使用。

注释

使用!evlog addsource在注册表中添加了事件源之后,可以使用!dreg命令来查看它的值。例如:

0:000> !dreg hklm\system\currentcontrolset\services\eventlog\Application\<source>!* 

!evlog option命令用于为!evlog read设置新的默认值。这可以避免在重复使用!evlog read时每次都需要输入所有参数。使用-+参数或者-r Records参数可以为搜索进行限制,在搜索了指定数量的记录之后终止命令。如果仅对某个事件之后的记录感兴趣,那么这种限制是很有用的。

使用!evlog report前,应该用!evlog addsource来在注册表中配置事件源。这种配置之后,事件查看器就可以识别各种事件ID了。

下面是!evlog info扩展命令的示例:

0:000> !evlog info -?
--------------------------------
Application Event Log:
  # Records       : 4362
  Oldest Record # : 1
  Newest Record # : 4362
  Event Log Full  : false
--------------------------------
System Event Log:
  # Records       : 2296
  Oldest Record # : 1
  Newest Record # : 2296
  Event Log Full  : false
--------------------------------
Security Event Log:
  # Records       : 54544
  Oldest Record # : 1
  Newest Record # : 54544
  Event Log Full  : false
--------------------------------

0:000> !evlog option -n 4
Default EvLog Option Settings:
--------------------------------
Max Records Returned: 4
Search Order:         Backwards
Data Display Width:   8
--------------------------------
Bounding Record Numbers:
  Application Event Log: 0
  System Event Log:      0
  Security Event Log:    0
--------------------------------

0:000> !evlog read -l application
-------------- 01 --------------
Record #: 4364

Event Type:      Error (1)
Event Source:    Userenv
Event Category:  None (0)
Event ID:        1000 (0xC00003E8)
Date:            06/06/2002
Time:            18:03:17
Description:     (1 strings)
The Group Policy client-side extension Security was passed flags (17) and returned a failure status code of (87).

-------------- 02 --------------
Record #: 4363

Event Type:      Warning (2)
Event Source:    SceCli
Event Category:  None (0)
Event ID:        1202 (0x800004B2)
Date:            06/06/2002
Time:            18:03:17
Description:     (1 strings)
0x57 : The parameter is incorrect.
Please look for more details in TroubleShooting section in Security Help.

-------------- 03 --------------
Record #: 4362

Event Type:      Error (1)
Event Source:    Userenv
Event Category:  None (0)
Event ID:        1000 (0xC00003E8)
Date:            06/06/2002
Time:            16:04:08
Description:     (1 strings)
The Group Policy client-side extension Security was passed flags (17) and returned a failure status code of (87).

-------------- 04 --------------
Record #: 4361

Event Type:      Warning (2)
Event Source:    SceCli
Event Category:  None (0)
Event ID:        1202 (0x800004B2)
Date:            06/06/2002
Time:            16:04:08
Description:     (1 strings)
0x57 : The parameter is incorrect.
Please look for more details in TroubleShooting section in Security Help.
WARNING: Max record count (4) exceeded, increase record count to view more

Build machine: CAPEBUILD