Compartir a través de


Ejemplo 8: ampliación de la base de datos de seguimiento de pila de User-Mode

El siguiente comando GFlags aumenta el tamaño máximo de la base de datos de seguimiento de pila en modo de usuario para myapp.exe, un programa ficticio, de 8 MB a 24 MB.

El comando usa el parámetro /i para especificar el archivo de imagen. Usa el parámetro /tracedb para establecer el tamaño máximo de la base de datos de seguimiento de pila y el valor 24 para indicar el tamaño en megabytes. El comando usa unidades decimales. (Las unidades hexadecimales no son válidas).

gflags /i MyApp.exe /tracedb 24

Como indica el siguiente mensaje de error, este comando produce un error porque la marca Crear base de datos de seguimiento de pila en modo de usuario (+ust) no está establecida para el archivo de imagen myApp. No se puede establecer el tamaño de una base de datos de seguimiento hasta que se cree una.

Failed to set the trace database size for `MyApp.exe'

Los siguientes comandos corrigen el error. El primer comando crea una base de datos de seguimiento para myapp.exe y el segundo comando establece el tamaño máximo de la base de datos de seguimiento en 24 MB. Estos comandos no se pueden combinar en un solo comando. En la siguiente pantalla se muestran los comandos y el mensaje de operación correcta de 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 puede cambiar el tamaño de la base de datos de seguimiento de pila en modo de usuario, pero no lo muestra. Para mostrar el tamaño de la base de datos de seguimiento, use las API del Registro, Regedit o Reg (reg.exe), una herramienta incluida en Windows XP y Windows Server 2003, para comprobar el valor de la entrada del Registro StackTraceDatabaseSizeInMB (HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ImageFileName\StackTraceDatabaseSizeInMB).

(Una versión de Reg se incluye en Windows XP, pero esa versión no permite los modificadores /v y /s en el mismo comando).

El siguiente comando usa Reg para consultar el valor de StackTraceDatabaseSizeInMB:

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\MyApp.exe" /v StackTraceDatabaseSizeInMB 

En respuesta, Reg muestra el valor de StackTraceDatabaseSizeInMB, que confirma que se estableció el nuevo valor, 24 (0x18). Este valor se hace efectivo cuando se reinicia 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

Propina Escriba el comando reg query en el Bloc de notas y guarde el archivo como tracedb.bat. A partir de entonces, para mostrar el valor de StackTraceDatabaseSizeInMB, simplemente escriba TraceDb.