다음을 통해 공유


예제 6: 모든 플래그 지우기

이 예제에서는 레지스트리 및 세션에 설정된 모든 플래그를 지우는 두 가지 방법을 보여 줍니다.

  • 현재 플래그 값을 뺍니다.

  • 높은 값을 뺍니다.

참고 이 예제에서 보여 준 메서드는 플래그만 지웁 수 있습니다. 최대 스택 추적 크기 또는 커널 특수 풀 태그를 기본값으로 다시 설정하지 않습니다.

현재 플래그 값 빼기

다음 명령은 항목의 현재 값을 빼서 레지스트리의 시스템 전체 플래그 항목에 설정된 모든 플래그를 지웁니다. 이 예제에서는 현재 값이 0xE0. 명령은 /r 매개 변수를 사용하여 시스템 전체 레지스트리 모드를 나타내고 E0 값은 빼기 기호(-)를 사용하여 플래그 값에서 E0을 뺍니다.

gflags /r -E0 

이에 대한 응답으로 GFlags는 시스템 전체 플래그 레지스트리 항목의 수정된 값을 표시합니다. 값이 0이면 명령이 성공했으며 레지스트리에 시스템 전체 플래그가 더 이상 설정되지 않음을 나타냅니다.

Current Boot Registry Settings are: 00000000 

다음 명령은 이 예제에 사용된 명령과 동일한 효과를 가지며 서로 바꿔 사용할 수 있습니다.

gflags /r -20 -40 -80 
gflags /r -hfc -hpc -hvc 

높은 값 빼기

다음 명령은 시스템 전체 플래그 설정에서 높은 값(0xFFFFFFFF)을 빼서 모든 시스템 전체 플래그를 지웁니다.

gflags /r -ffffffff 

이에 대한 응답으로 GFlags는 시스템 전체 플래그 항목의 수정된 값을 표시합니다. 값이 0이면 명령이 성공했으며 레지스트리에 시스템 전체 플래그가 더 이상 설정되지 않음을 나타냅니다.

Current Boot Registry Settings are: 00000000 

이 명령을 메모장에 입력한 다음 파일을 clearflag.bat 저장합니다. 그런 다음 모든 플래그를 지우려면 ClearFlag를 입력하면 됩니다.

마지막으로, 다음 예제에서는 모든 플래그를 지우는 직관적인 방법이 작동하지 않음을 보여 줍니다.

다음 명령은 시스템 전체 플래그 항목의 값을 0으로 설정하는 것처럼 보입니다. 그러나 실제로 시스템 전체 플래그 값에 0을 추가합니다. 이 예제에서는 시스템 전체 플래그 항목의 현재 값이 0xE0.

gflags /r 0 

이에 대한 응답으로 GFlags는 명령이 완료된 후 시스템 전체 플래그 값을 표시합니다.

Current Boot Registry Settings are: 000000e0
    hfc - Enable heap free checking
    hpc - Enable heap parameter checking
    hvc - Enable heap validation on call

명령이 시스템 전체 플래그 항목에 값 0을 추가하므로 아무런 효과가 없습니다.