풀 태그별 특수 풀 요청
지정된 풀 태그를 사용하는 모든 할당에 대해 특수 풀을 요청할 수 있습니다. 시스템에서 하나의 풀 태그만 커널 특수 풀 요청과 한 번에 연결할 수 있습니다.
Windows Vista 이상 버전의 Windows에서는 명령줄을 사용하여 풀 태그별로 특수 풀을 요청할 수도 있습니다. 자세한 내용은 GFlags 명령을 참조하세요.
풀 태그별로 특수 풀을 요청하려면
시스템 레지스트리 탭 또는 커널 플래그 탭을 선택합니다.
Windows Vista 이상 버전의 Windows에서는 이 옵션을 두 탭에서 모두 사용할 수 있습니다. 이전 버전의 Windows에서는 시스템 레지스트리 탭에서만 사용할 수 있습니다.
커널 특수 풀 태그 섹션에서 텍스트를 클릭한 다음 태그에 4자 패턴을 입력합니다.
태그에는 ? (단일 문자) 및 * (여러 문자) 와일드카드 문자가 포함될 수 있습니다. 예를 들어 Fat* 또는 Av?4입니다.
다음 스크린샷은 시스템 레지스트리 탭에 텍스트로 입력된 태그를 보여줍니다.
적용을 클릭합니다.
적용을 클릭하면 GFlags가 선택 영역을 텍스트에서 16진수로 변경하고 ASCII 문자를 역방향(하위 엔드리안) 순서로 16진수 값으로 표시합니다. 예를 들어 Tag1을 입력하면 GFlags는 태그를 0x31676154 (1gaT)로 표시합니다. 이는 레지스트리에 저장되고 디버거 및 기타 도구에 의해 표시되는 방식입니다.
다음 그림에서는 적용을 클릭하는 효과를 보여 줍니다.
발언
이 기능을 효과적으로 사용하려면 드라이버 또는 다른 커널 모드 프로그램에서 고유한 풀 태그를 사용하는지 확인합니다. 드라이버가 모든 특수 풀을 사용하는 것으로 의심되는 경우 코드에서 여러 풀 태그를 사용하는 것이 좋습니다. 그런 다음 드라이버를 여러 번 테스트하여 각 테스트에서 하나의 풀 태그에 특수 풀을 할당할 수 있습니다.
또한 시스템의 페이지 크기보다 큰 16진수 값이 있는 풀 태그를 선택합니다. 커널 모드 코드의 경우 값이 PAGE_SIZE 미만인 풀 태그를 입력하면 Gflags는 크기가 해당 범위 내에 있는 모든 할당에 대해 특수 풀을 요청하고 해당하는 풀 태그가 있는 할당에 대해 특수 풀을 요청합니다. 예를 들어 크기 가 30인 경우 크기가 17~32바이트인 모든 할당과 풀 태그가 0x0030 할당에 특수 풀이 사용됩니다.