Verwenden des Global Flags-Hilfsprogramms
Das Hilfsprogramm Global Flags (gflags.exe) bietet eine einfache Methode zum Festlegen bestimmter Schlüssel innerhalb der Systemregistrierung, zum Anpassen der Kerneleinstellungen des ausgeführten Systems und zum Ändern der Einstellungen für Imagedateien. Sie können diese Schlüssel mithilfe einer grafischen Oder Befehlszeilenschnittstelle festlegen.
Das Globale Flags-Hilfsprogramm finden Sie im Paket Windows-Supporttools und im Paket Debugtools für Windows. Informationen zu letzterem finden Sie unter Windows-Debuggen.
Das Hilfsprogramm "Globale Flags" kann auch verwendet werden, um die Option "Special Pool" von Driver Verifier zu konfigurieren oder den speziellen Pool für die Verwendung in einzelnen Speicherzuordnungen festzulegen.
Um die Einstellungen für den speziellen Pool zu ändern, starten Sie das Hilfsprogramm Globale Flags, und wählen Sie im Abschnitt Ziel die Optionsschaltfläche Systemregistrierung aus. Im Abschnitt Kernel Special Pool Tag des Dialogfelds können bestimmte spezielle Pooloptionen festgelegt werden.
Steuern der Pooltagausrichtung
Wählen Sie die Schaltfläche Start überprüfen aus, damit sich die spezielle Poolausrichtung auf die Erkennung von Unterlauf konzentriert. Wählen Sie die Option Ende überprüfen aus, um sich auf die Erkennung von Überschreitungen zu konzentrieren. Diese Schaltflächen steuern die Ausrichtung aller speziellen Poolzuweisungen – unabhängig davon, ob sie vom Driver Verifier oder von Global Flags vorgenommen werden.
Verwenden eines speziellen Pool-nach-Pool-Tags oder der Zuordnungsgröße
Ein spezieller Pool kann für alle Zuordnungen mit einem bestimmten Pooltag verwendet werden. Um dieses Feature zu aktivieren, geben Sie das Pooltag in das Textfeld Pooltag ein .
Ein spezieller Pool kann auch für alle Zuordnungen in einem bestimmten Größenbereich verwendet werden. Obwohl diese Verwendung eines speziellen Pools keine Pooltags umfasst, wird dieses Feature dennoch aktiviert, indem eine Zahl in das Textfeld Pooltag eingegeben wird. Diese Zahl muss kleiner als PAGE_SIZE sein.
Bei einem x86-Prozessor ist PAGE_SIZE 0x1000 und die Zuordnungsgrößenbereiche sind 8 Bytes lang. Um einen speziellen Pool für alle Zuordnungen mit Größen in diesem Bereich zu aktivieren, geben Sie eine Zahl ein, die dem Maximum dieses Bereichs plus 8 entspricht. (Diese Zahl ist immer ein Vielfaches von 8.) Die folgende Tabelle veranschaulicht diese Werte:
Größenbereich | Geben Sie diese Nummer in das Textfeld Pooltag ein. |
---|---|
1 bis 8 Bytes |
16 (0x10) |
9 bis 16 Bytes |
24 (0x18) |
17 bis 24 Bytes |
32 (0x20) |
... |
... |
0xFE9 zu 0xFF0 Bytes |
0xFF8 |
Bei einem x64-Prozessor ist PAGE_SIZE 0x1000 und die Zuordnungsgrößenbereiche sind 16 Bytes lang. Um einen speziellen Pool für alle Zuordnungen mit Größen in diesem Bereich zu aktivieren, geben Sie eine Zahl ein, die dem Maximum dieses Bereichs plus 16 entspricht. (Diese Zahl ist immer ein Vielfaches von 16.) Die folgende Tabelle veranschaulicht diese Werte:
Größenbereich | Geben Sie diese Nummer in das Textfeld Pooltag ein. |
---|---|
1 bis 16 Bytes |
32 (0x20) |
17 bis 32 Bytes |
48 (0x30) |
33 bis 48 Bytes |
64 (0x40) |
... |
... |
0xFD1 zu 0xFE0 Bytes |
0xFF0 |
Bei einem Itanium-basierten Prozessor ist PAGE_SIZE 0x2000, und die Zuordnungsgrößenbereiche sind 16 Bytes lang. Um einen speziellen Pool für alle Zuordnungen mit Größen in diesem Bereich zu aktivieren, geben Sie eine Zahl ein, die dem Maximum dieses Bereichs plus 16 entspricht. (Diese Zahl ist immer ein Vielfaches von 16.) Die folgende Tabelle veranschaulicht diese Werte:
Größenbereich | Geben Sie diese Nummer in das Textfeld Pooltag ein. |
---|---|
1 bis 16 Bytes |
32 (0x20) |
17 bis 32 Bytes |
48 (0x30) |
33 bis 48 Bytes |
64 (0x40) |
... |
... |
0x1FD1 zu 0x1FE0 Bytes |
0x1FF0 |
Es empfiehlt sich, die Verwendung von Pooltags zu vermeiden, die niedriger als PAGE_SIZE sind. Wenn Sie beispielsweise 0x30 in dieses Textfeld auf einem Itanium-basierten Prozessor einfügen, wird ein spezieller Pool für alle Zuordnungen zwischen 17 und 32 Bytes und für Zuordnungen mit dem Pooltag 0x0030 verwendet.
Hinweis Wenn driver verifier den speziellen Pool für einen Treiber aktiviert hat und das Hilfsprogramm Globale Flags den speziellen Pool für ein Pooltag oder eine Zuordnungsgröße aktiviert hat, wird der spezielle Pool für alle Zuordnungen verwendet, die eines dieser Kriterien erfüllen (abhängig von der Verfügbarkeit des Pools).
Ausführliche Informationen zur Nutzung des speziellen Pools finden Sie unter Spezialpool .