Sdílet prostřednictvím


Příklad 8: Rozšíření databáze trasování zásobníku User-Mode

Následující příkaz GFlags zvyšuje maximální velikost databáze tras zásobníku uživatelského režimu pro myapp.exe, fiktivní program, z 8 MB na 24 MB.

Příkaz k zadání souboru obrázku používá parametr /i. Používá parametr /tracedb pro nastavení maximální velikosti databáze trasování zásobníku a hodnotu 24 pro určení velikosti v megabajtech. Příkaz používá desetinné jednotky. (Šestnáctkové jednotky nejsou platné.)

gflags /i MyApp.exe /tracedb 24

Jak ukazuje následující chybová zpráva, tento příkaz selže, protože příznak pro vytvoření databáze trasování zásobníku v uživatelském režimu (+ust) není nastaven pro obrazový soubor MyApp. Velikost trasovací databáze nelze nastavit, dokud ji nevytvoříte.

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

Chybu opraví následující příkazy. První příkaz vytvoří trasovací databázi pro myapp.exe a druhý příkaz nastaví maximální velikost trasovací databáze na 24 MB. Tyto příkazy nelze zkombinovat do jednoho příkazu. Následující zobrazení ukazuje příkazy a zprávu o úspěchu z 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 může změnit velikost databáze trasování zásobníku v uživatelském režimu, ale nezobrazí ji. Chcete-li zobrazit velikost databáze trasování, pomocí rozhraní API registru nebo Regedit zkontrolujte hodnotu položky StackTraceDatabaseSizeInMB v registru (HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ImageFileName\StackTraceDatabaseSizeInMB).

Následující příkaz používá nástroj Reg k dotazu na hodnotu StackTraceDatabaseSizeInMB:

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

V odpovědi reg zobrazí hodnotu StackTraceDatabaseSizeInMB, což potvrzuje, že byla nastavena nová hodnota 24 (0x18). Tato hodnota se stane efektivní při restartování 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

Tip Zadejte příkaz reg query do Poznámkového bloku a pak soubor uložte jako tracedb.bat. Potom chcete-li zobrazit hodnotu StackTraceDatabaseSizeInMB, stačí zadat TraceDb.