Udostępnij przez


Żądanie puli specjalnej za pomocą tagu puli

Możesz zażądać specjalnej puli dla wszystkich alokacji używających określonego tagu puli. Na systemie można jednocześnie skojarzyć tylko jeden tag puli z żądaniami specjalnej puli jądra.

W systemie Windows Vista i nowszych wersjach systemu Windows można również skorzystać z wiersza poleceń, aby zażądać specjalnej puli według znacznika puli. Aby uzyskać informacje, zobacz GFlags Commands.

Aby zażądać specjalnej puli zgodnie z tagiem puli

  1. Wybierz kartę Rejestr Systemu lub kartę Flagi Jądra.

    W systemie Windows Vista i nowszych wersjach systemu Windows ta opcja jest dostępna na obu kartach. We wcześniejszych wersjach systemu Windows dostępny jest tylko na zakładce Rejestr systemu.

  2. W sekcji Tag specjalnej puli jądra kliknij pozycję Tekst, a następnie wpisz czteroznaczny wzorzec tagu.

    Tag może zawierać znaki wieloznaczne, takie jak ? (pojedynczy znak) i * (wiele znaków). Na przykład Fat* lub Av?4.

  3. Poniższy zrzut ekranu przedstawia tag wprowadzony jako tekst na karcie Rejestr systemu.

    Zrzut ekranu przedstawiający tag wprowadzony jako tekst na karcie Rejestr systemu w GFlags.

  4. Kliknij Zastosuj.

    Po kliknięciu przycisku Zastosuj funkcja GFlags zmienia zaznaczenie z tekst na szesnastkowy i wyświetla znaki ASCII jako wartości szesnastkowe w odwrotnej kolejności (mały endian). Jeśli na przykład wpiszesz Tag1, GFlags wyświetla tag jako 0x31676154 (1gaT). Jest to sposób, w jaki jest przechowywany w rejestrze i wyświetlany przez debuger i inne narzędzia.

    Na poniższej ilustracji przedstawiono efekt kliknięcia przycisku Zastosuj.

    Zrzut ekranu przedstawiający efekt kliknięcia przyciskiem Zastosuj w GFlags, wyświetlający tag jako wartości szesnastkowe.

Uwagi

Aby efektywnie korzystać z tej funkcji, upewnij się, że sterownik lub inny program trybu jądra używa unikatowego tagu puli. Jeśli podejrzewasz, że sterownik zużywa całą specjalną pulę, rozważ użycie wielu tagów puli w kodzie. Następnie możesz kilkakrotnie przetestować sterownik, przypisując specjalną pulę do jednego znacznika puli w każdym teście.

Ponadto wybierz tag puli z wartością szesnastkową większą niż rozmiar strony systemu. W przypadku kodu trybu jądra, jeśli wprowadzisz tag puli, który ma wartość mniejszą niż PAGE_SIZE, Gflags żąda specjalnej puli dla wszystkich alokacji, których rozmiar mieści się w odpowiednim zakresie i żąda specjalnej puli dla alokacji z równoważnym tagiem puli. Jeśli na przykład wybierzesz rozmiar 30, specjalna pula będzie używana dla wszystkich alokacji o rozmiarze od 17 do 32 bajtów, a w przypadku alokacji z tagiem puli 0x0030.