p(단계)

p 명령은 단일 명령 또는 소스 줄을 실행하고 필요에 따라 모든 레지스터 및 플래그의 결과 값을 표시합니다. 서브루틴 호출 또는 인터럽트 발생 시 단일 단계로 처리됩니다.

사용자 모드

[~Thread] p[r] [= StartAddress] [Count] ["Command"] 

커널 모드

p[r] [= StartAddress] [Count] ["Command"] 

매개 변수

스레드
계속 실행할 스레드를 지정합니다. 다른 모든 스레드는 고정됩니다. 구문에 대한 자세한 내용은 스레드 구문을 참조 하세요. 사용자 모드에서만 스레드를 지정할 수 있습니다.

r
레지스터 및 플래그 표시를 켜고 끕니다. 기본적으로 레지스터와 플래그가 표시됩니다. pr, tr 또는 .prompt_allow -reg 명령을 사용하여 레지스터 표시를 사용하지 않도록 설정할 수 있습니다. 이러한 세 명령 모두 동일한 설정을 제어하며 이러한 명령을 사용하여 이러한 명령의 이전 사용을 재정의할 수 있습니다.

l-os 명령을 사용하여 레지스터 표시를 사용하지 않도록 설정할 수도 있습니다. 이 설정은 다른 세 명령과는 별개입니다. 표시되는 레지스터 및 플래그를 제어하려면 rm(마스크 등록) 명령을 사용합니다.

StartAddress
실행을 시작할 주소를 지정합니다. StartAddress를 사용하지 않으면 명령 포인터가 가리키는 명령에서 실행이 시작됩니다. 구문에 대한 자세한 내용은 주소 및 주소 범위 구문을 참조 하세요.

Count
중지하기 전에 단계별로 실행할 지침 또는 소스 줄 수를 지정합니다. 각 단계는 디버거 명령 창별도의 작업으로 표시됩니다. 기본값은 1입니다.

Command
단계가 수행된 후 실행할 디버거 명령을 지정합니다. 이 명령은 표준 p 결과가 표시되기 전에 실행됩니다. Count도 사용하는 경우 모든 단계가 완료된 후(하지만 최종 단계의 결과가 표시되기 전에) 지정된 명령이 실행됩니다.

환경

항목 설명
모드 사용자 모드, 커널 모드
대상 라이브 디버깅만
플랫폼 all

추가 정보

p 명령 실행 및 관련 명령 개요에 대한 자세한 내용은 대상 제어를 참조 하세요.

설명

Count를 지정하면 단계별로 각 명령이 표시됩니다.

디버거가 스테핑하는 동안 호출 명령 또는 인터럽트를 발견하면 중단점이 발생하지 않는 한 호출된 서브루틴이 완전히 실행됩니다. 호출 또는 인터럽트 후 다음 명령에서 컨트롤이 디버거로 반환됩니다.

각 단계에서는 디버거가 어셈블리 모드인지 소스 모드인지에 따라 단일 어셈블리 명령 또는 단일 소스 줄을 실행합니다. 이러한 모드 간에 전환하려면 WinDbg 도구 모음의 l+t 및 l-t 명령 또는 단추를 사용합니다.

WinDbg에서 여러 번 빠르게 스테핑하는 경우 각 단계 후에 디버깅 정보 창이 업데이트됩니다. 이 업데이트로 인해 응답 시간이 느려지면 .suspend_ui(WinDbg 인터페이스 일시 중단)를 사용하여 이러한 창의 새로 고침을 일시적으로 일시 중단합니다.