Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 3.29 KB

LiveKD.md

File metadata and controls

20 lines (13 loc) · 3.29 KB

LiveKD

LiveKD는 현 시스템 상태를 분석하기 위해 강제로 BSOD를 일으켜 메모리 덤프를 생성할 필요 없이 곧바로, 즉 "라이브"로 커널을 디버깅할 수 있도록 지원하는 Sysinternals 유틸리티 프로그램이다. 디버깅은 오로지 LiveKD를 실행한 찰나, 즉 스냅샷에 국한되며 실시간으로 시스템 상태가 그대로 반영되는 게 절대 아니다.

만일 시스템을 실시간으로 디버깅을 해야 한다면 WinDbg의 "Attach to kernel" 옵션을 활용하도록 한다.

LiveKD는 단독적으로 사용될 수 없으며 반드시 kd.exe (또는 windbg.exe) 디버거 도구가 함께 동반되어야 한다. 윈도우 SDK 다운로드 및 설치 과정에서 Debugging Tools for Windows 옵션을 선택하여 디버거 도구를 확보한다. 아래는 kd.exe가 설치된 경로를 명시하여 LiveKD를 실행한 모습이다.

LiveKD 유틸리티 프로그램

메모리 덤프 생성

LiveKD로 시스템 디버깅이 가능하다면 메모리 덤프도 수집이 가능하다는 걸 의미한다. 명령에 옵션 -o와 함께 덤프 파일 경로를 지정하면 전체 메모리 덤프가 생성된다. 해당 방법은 최소한 ntoskrnl.exe심볼이 반드시 필요하며, 심볼을 수동으로 다운로드를 받는 방법은 symchk.exe를 참고하도록 한다.

대안 프로그램

  • 마이크로소프트의 트러블슈팅 스크립트, 일명 TSS는 LiveKD를 활용하여 메모리 덤프를 수집하는 옵션을 제공한다. 위에서 kd.exe 경로를 지정한 방식과 달리 -ml 옵션을 사용하여 (전체 메모리 덤프 대신에) 커널 메모리 덤프를 생성한다. 파워셸 명령을 입력하여 LiveKD 메모리 덤프 수집이 가능하다.

    . .\TSS.ps1 -LiveKD [Start | Stop | Both]
  • 작업 관리자(Task Manager): 윈도우 11, 22H2의 2023년 7월 업데이트, 즉 KB5027303부터 작업 관리자에서 시스템 프로세스(PID 4)의 우클릭 메뉴를 열면 라이브 메모리 덤프를 생성하는 선택지가 추가되었다. 자세한 내용은 마이크로소프트 공식 문서를 확인하도록 한다.