p(단계)
p 명령은 단일 명령 또는 소스 줄을 실행하고 필요에 따라 모든 레지스터 및 플래그의 결과 값을 표시합니다. 서브루틴 호출 또는 인터럽트 발생 시 단일 단계로 처리됩니다.
사용자 모드
[~Thread] p[r] [= StartAddress] [Count] ["Command"]
커널 모드
p[r] [= StartAddress] [Count] ["Command"]
매개 변수
스레드
계속 실행할 스레드를 지정합니다. 다른 모든 스레드는 고정됩니다. 구문에 대한 자세한 내용은 스레드 구문을 참조 하세요. 사용자 모드에서만 스레드를 지정할 수 있습니다.
r
레지스터 및 플래그 표시를 켜고 끕니다. 기본적으로 레지스터와 플래그가 표시됩니다. pr, tr 또는 .prompt_allow -reg 명령을 사용하여 레지스터 표시를 사용하지 않도록 설정할 수 있습니다. 이러한 세 명령 모두 동일한 설정을 제어하며 이러한 명령을 사용하여 이러한 명령의 이전 사용을 재정의할 수 있습니다.
l-os 명령을 사용하여 레지스터 표시를 사용하지 않도록 설정할 수도 있습니다. 이 설정은 다른 세 명령과는 별개입니다. 표시되는 레지스터 및 플래그를 제어하려면 rm(마스크 등록) 명령을 사용합니다.
StartAddress
실행을 시작할 주소를 지정합니다. StartAddress를 사용하지 않으면 명령 포인터가 가리키는 명령에서 실행이 시작됩니다. 구문에 대한 자세한 내용은 주소 및 주소 범위 구문을 참조 하세요.
세다
중지하기 전에 단계별로 실행할 지침 또는 소스 줄 수를 지정합니다. 각 단계는 디버거 명령 창에 별도의 작업으로 표시됩니다. 기본값은 1입니다.
명령
단계가 수행된 후 실행할 디버거 명령을 지정합니다. 이 명령은 표준 p 결과가 표시되기 전에 실행됩니다. Count도 사용하는 경우 모든 단계가 완료된 후(하지만 최종 단계의 결과가 표시되기 전에) 지정된 명령이 실행됩니다.
환경
항목 | 설명 |
---|---|
모드 | 사용자 모드, 커널 모드 |
대상 | 라이브 디버깅만 |
플랫폼 | all |
추가 정보
p 명령 실행 및 관련 명령 개요에 대한 자세한 내용은 대상 제어를 참조 하세요.
설명
Count를 지정하면 단계별로 각 명령이 표시됩니다.
디버거가 스테핑하는 동안 호출 명령 또는 인터럽트를 발견하면 중단점이 발생하지 않는 한 호출된 서브루틴이 완전히 실행됩니다. 호출 또는 인터럽트 후 다음 명령에서 컨트롤이 디버거로 반환됩니다.
각 단계에서는 디버거가 어셈블리 모드인지 소스 모드인지에 따라 단일 어셈블리 명령 또는 단일 소스 줄을 실행합니다. 이러한 모드 간에 전환하려면 WinDbg 도구 모음의 l+t 및 l-t 명령 또는 단추를 사용합니다.
WinDbg에서 여러 번 빠르게 스테핑하는 경우 각 단계 후에 디버깅 정보 창이 업데이트됩니다. 이 업데이트로 인해 응답 시간이 느려지면 .suspend_ui(WinDbg 인터페이스 일시 중단)를 사용하여 이러한 창의 새로 고침을 일시적으로 일시 중단합니다.