예제 8: User-Mode 스택 추적 데이터베이스 확대

다음 GFlags 명령은 가상 프로그램인 myapp.exe 대한 사용자 모드 스택 추적 데이터베이스의 최대 크기를 8MB에서 24MB로 늘입니다.

이 명령은 /i 매개 변수를 사용하여 이미지 파일을 지정합니다. /tracedb 매개 변수를 사용하여 최대 스택 추적 데이터베이스 크기 및 값 24를 설정하여 크기를 메가바이트 단위로 나타냅니다. 이 명령은 소수 단위를 사용합니다. (16진수 단위는 유효하지 않습니다.)

gflags /i MyApp.exe /tracedb 24

다음 오류 메시지와 같이 사용자 모드 스택 추적 데이터베이스 만들기 (+ust) 플래그가 MyApp 이미지 파일에 대해 설정되지 않아 이 명령이 실패합니다. 추적 데이터베이스를 만들 때까지 추적 데이터베이스의 크기를 설정할 수 없습니다.

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

다음 명령은 오류를 해결합니다. 첫 번째 명령은 myapp.exe 대한 추적 데이터베이스를 만들고 두 번째 명령은 추적 데이터베이스의 최대 크기를 24MB로 설정합니다. 이러한 명령은 단일 명령으로 결합할 수 없습니다. 다음 표시에서는 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는 사용자 모드 스택 추적 데이터베이스의 크기를 변경할 수 있지만 표시되지는 않습니다. 추적 데이터베이스 크기를 표시하려면 Windows XP 및 Windows Server 2003에 포함된 도구인 레지스트리 API, Regedit 또는 Reg(reg.exe)를 사용하여 StackTraceDatabaseSizeInMB 레지스트리 항목의 값을 확인합니다(HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ImageFileNameStackTraceDatabaseSatabaseSizeInMB\).

(Reg 버전은 Windows XP에 포함되어 있지만 해당 버전은 동일한 명령에서 /v/s 스위치를 허용하지 않습니다.)

다음 명령은 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를 입력합니다.