示例 8:扩展 User-Mode 堆栈跟踪数据库
以下 GFlags 命令将 myapp.exe(虚构程序)的用户模式堆栈跟踪数据库的最大大小从 8 MB 增加到 24 MB。
该命令使用 /i 参数来指定图像文件。 它使用 /tracedb 参数设置最大堆栈跟踪数据库大小和值 24 来指示大小(以兆字节为单位)。 该命令使用十进制单位。 (十六进制单位无效。
gflags /i MyApp.exe /tracedb 24
如以下错误消息所示,此命令失败,因为未为 MyApp 映像文件设置 创建用户模式堆栈跟踪数据库(+ust)标志。 在创建跟踪数据库之前,无法设置跟踪数据库的大小。
Failed to set the trace database size for `MyApp.exe'
以下命令修复了错误。 第一个命令为 myapp.exe 创建跟踪数据库,第二个命令将跟踪数据库的最大大小设置为 24 MB。 这些命令不能组合成单个命令。 以下显示显示了 GFlags 中的命令和成功消息。
gflags /i MyApp.exe +ust
Current Registry Settings for MyApp.exe executable are: 00001000
ust - Create user mode stack trace database
gflags /i MyApp.exe /tracedb 24
Trace database size for `MyApp.exe' set to 24 Mb.
GFlags 可以更改用户模式堆栈跟踪数据库的大小,但它不显示它。 若要显示跟踪数据库大小,请使用注册表 API 或 Regedit 检查 StackTraceDatabaseSizeInMB 注册表项的值(HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ImageFileName\StackTraceDatabaseSizeInMB)。
以下命令使用 Reg 查询 StackTraceDatabaseSizeInMB的值:
reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\MyApp.exe" /v StackTraceDatabaseSizeInMB
作为回应,Reg 显示了 StackTraceDatabaseSizeInMB的值,这确认了新值 24(0x18)的设置。 重新启动 myapp.exe时,此值将生效。
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\MyApp.exe
StackTraceDatabaseSizeInMB REG_DWORD 0x18
提示 在记事本中键入 reg query 命令,然后将文件另存为 tracedb.bat。 此后,若要显示 StackTraceDatabaseSizeInMB的值,只需键入 TraceDb。