시스템 Hanging 디버깅의 기초는 !process 0 7

나만 사용하는 줄 알았는데 다들 !process 0 7를 많이 사용한다.
 
Windbg에서 커널 디버깅 시에 이 명령어를 사용하면 시스템에 존재하는 모든 프로세스와 그에 속한 쓰레드들의 콜스택이 리스팅 된다. 또한 IRP나 락 정보들도 출력 되므로 어디에서 hanging이 발생했는지 추적이 가능하다. 또한 쓰레드가 얼마나 Wait 스테이트에 있는지도 알수 있으므로 어떤 쓰레드가 지금 문제가 있는지도 파악이 가능하다.
 
단 문제가 하나 있는데, 이 명령을 한번 실행하면 명령 수행 종료까지는 적어도 수십분 이상 기다려야 한다는 것이다.

Leave a Reply