pa(한 단계씩 주소 지정)
pa 명령은 지정된 주소에 도달할 때까지 프로그램을 실행하여 각 단계를 표시합니다.
사용자 모드
[~Thread] pa [r] [= StartAddress] StopAddress ["Command"]
커널 모드
pa [r] [= StartAddress] StopAddress ["Command"]
매개 변수
스레드
실행을 계속할 스레드를 지정합니다. 다른 모든 스레드는 고정됩니다. 구문에 대한 자세한 내용은 스레드 구문을 참조 하세요. 사용자 모드에서만 스레드를 지정할 수 있습니다.
r
레지스터 및 플래그 표시를 켜고 끕니다. 기본적으로 레지스터와 플래그가 표시됩니다. par, pr, tr 또는 .prompt_allow -reg 명령을 사용하여 레지스터 표시를 사용하지 않도록 설정할 수 있습니다. 이러한 모든 명령은 동일한 설정을 제어하며 이러한 명령을 사용하여 이러한 명령의 이전 사용을 재정의할 수 있습니다.
l-os 명령을 사용하여 레지스터 표시를 사용하지 않도록 설정할 수도 있습니다. 이 설정은 다른 세 명령과는 별개입니다. 표시되는 레지스터 및 플래그를 제어하려면 rm(마스크 등록) 명령을 사용합니다.
StartAddress
디버거가 실행을 시작하는 주소를 지정합니다. 그렇지 않으면 명령 포인터가 가리키는 명령에서 디버거가 시작됩니다. 구문에 대한 자세한 내용은 주소 및 주소 범위 구문을 참조 하세요.
StopAddress
실행이 중지될 주소를 지정합니다. 이 주소는 명령의 정확한 주소와 일치해야 합니다.
명령
단계가 수행된 후 실행할 디버거 명령을 지정합니다. 이 명령은 표준 pa 결과가 표시되기 전에 실행됩니다. 또한 StopAddress를 사용하는 경우 StopAddress에 도달한 후 지정된 명령이 실행됩니다(최종 단계의 결과가 표시되기 전에).
환경
항목 | 설명 |
---|---|
모드 | 사용자 모드, 커널 모드 |
대상 | 라이브 디버깅만 |
플랫폼 | all |
추가 정보
관련 명령에 대한 자세한 내용은 대상 제어를 참조하세요.
설명
pa 명령을 사용하면 대상이 실행되기 시작합니다. 이 실행은 지정된 명령에 도달하거나 중단점에 도달할 때까지 계속됩니다.
참고 커널 모드에서 이 명령을 사용하는 경우 가상 주소 공간의 지정된 가상 주소에서 명령이 발견되면 실행이 중지됩니다.
이 실행 중에는 모든 단계가 명시적으로 표시됩니다. 호출된 함수는 단일 단위로 처리됩니다. 따라서 이 명령의 표시는 프로그램 카운터가 지정된 주소에 도달할 때까지 p(단계)를 반복적으로 실행하는 경우 표시되는 것과 유사합니다.
예를 들어 다음 명령은 현재 함수의 반환 주소에 도달할 때까지 대상 코드를 명시적으로 단계합니다.
0:000> pa @$ra
다음 예제에서는 kb 명령과 함께 pa 명령을 사용하여 스택 추적을 표시하는 방법을 보여 줍니다.
0:000> pa 70b5d2f1 "kb"