다음을 통해 공유


tb(다음 분기로 추적)

tb 명령은 분기 명령에 도달할 때까지 프로그램을 실행합니다.

tb [r] [= StartAddress] [Count] 

매개 변수

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

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

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

횟수
허용할 분기 수를 지정합니다. 분기가 발생할 때마다 명령 주소와 명령이 표시됩니다. Count를 생략하면 기본 번호는 1입니다.

Environment

모드

x86 기반: 커널 모드만 x64 기반: 사용자 모드, 커널 모드

대상

라이브 디버깅만

플랫폼

x86 기반(GenuineIntel 프로세서 제품군 6 이상), x64 기반

추가 정보

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

설명

tb 명령을 사용하면 대상이 실행되기 시작합니다. 이 실행은 분기 명령에 도달할 때까지 계속됩니다.

실행할 분기 명령에서 실행이 중지됩니다. 이 실행 중지는 디버거가 소스 모드인 경우에도 항상 디스어셈블리 코드를 기반으로 합니다.

분기 지침에는 호출, 반환, 점프, 계산된 루프 및 while 루프가 포함됩니다. 디버거에서 조건부 분기 또는 조건이 true인 조건부 분기가 발견되면 실행이 중지됩니다. 디버거가 조건이 false인 조건부 분기를 발견하면 실행이 계속됩니다.

실행이 중지되면 분기 명령의 주소와 연결된 기호가 표시됩니다. 이 정보에는 화살표와 새 프로그램 카운터 위치의 주소 및 지침이 차례로 표시됩니다.

tb 명령은 현재 프로세서에서만 작동합니다. 다중 프로세서 시스템에서 tb 를 사용하는 경우 분기 명령에 도달하거나 다른 프로세서의 이벤트가 발생할 때 실행이 중지됩니다.

일반적으로 PRCB(프로세서 제어 블록)가 초기화된 후 분기 추적이 사용됩니다. (PRCB는 부팅 프로세스 초기에 초기화됩니다.) 그러나 이 시점 이전에 tb 명령을 사용해야 하는 경우 .force_tb(강제 분기 추적 허용)을 사용하여 이전에 분기 추적 을 사용하도록 설정할 수 있습니다. 프로세서 상태가 손상될 수 있으므로 .force_tb 명령을 신중하게 사용합니다.