다음을 통해 공유


WinDbg에서 레지스터 보기 및 편집(클래식)

레지스터는 CPU에 있는 작은 휘발성 메모리 단위입니다. 많은 레지스터는 특정 용도로만 사용되며, 사용자 모드 애플리케이션에서 사용할 수 있는 다른 레지스터도 있습니다. x86 기반 및 x64 기반 프로세서에는 사용 가능한 레지스터 컬렉션이 서로 다릅니다. 각 프로세서의 레지스터에 대한 자세한 내용은 프로세서 아키텍처를 참조하세요.

WinDbg에서는 명령을 입력하거나, 레지스터 창을 사용하거나, 조사식 창을 사용하여 레지스터를 보고 편집할 수 있습니다.

명령

디버거 명령 창에서 r(레지스터) 명령을 입력하여 레지스터를 보고 편집할 수 있습니다. 여러 옵션을 사용하거나 rm(마스크 등록) 명령을 사용하여 디스플레이를 사용자 지정할 수 있습니다.

또한 레지스터는 대상이 중지될 때마다 자동으로 표시됩니다. p(단계) 또는 t(추적) 명령을 사용하여 코드를 단계별로 실행하는 경우 모든 단계에서 레지스터가 표시됩니다. 이 표시를 중지하려면 이러한 명령을 사용할 때 r 옵션을 사용합니다.

x86 기반 프로세서에서 r 옵션은 플래그라고 하는 여러 1비트 레지스터도 제어합니다. 이러한 플래그를 변경하려면 일반 레지스터를 변경할 때와 약간 다른 구문을 사용합니다. 이러한 플래그에 대한 자세한 내용과 이 구문에 대한 설명은 x86 플래그를 참조하세요.

레지스터 창

레지스터 창 열기

등록 창을 열거나 전환하려면 보기 메뉴에서 등록을 선택합니다. (Alt+4를 누르거나 도구 모음에서 등록 단추를 선택할 수도 있습니다. Alt+Shift+4는 레지스터 창을 닫습니다.)

다음 스크린샷은 레지스터 창의 예를 보여 줍니다.

WinDbg의 레지스터 창 스크린샷

레지스터 창에는 두 개의 열이 있습니다. Reg 열에는 대상 프로세서에 대한 모든 레지스터가 나열됩니다. 열에는 각 레지스터의 현재 값이 표시됩니다. 이 창에는 등록 목록 사용자 지정 대화 상자를 여는 도구 모음의 사용자 지정 단추도 포함되어 있습니다.

레지스터 창 사용

레지스터 창에서 다음을 수행할 수 있습니다.

  • 열에는 각 레지스터의 현재 값이 표시됩니다. 가장 최근에 변경된 레지스터의 값이 빨간색 텍스트로 표시됩니다.

    • 새 값을 입력하려면 Value 셀을 두 번 클릭한 다음 새 값을 입력하거나 이전 값을 편집합니다. (잘라내기, 복사 및 붙여넣기 명령은 편집에 사용할 수 있습니다.)
    • 새 값을 저장하려면 Enter 키를 누릅니다.
    • 새 값을 취소하려면 ESC를 누릅니다.
    • 잘못된 값을 입력하면 Enter 키를 누르면 이전 값이 다시 나타납니다.
  • 레지스터 값은 현재 반지름에 표시되며 동일한 radix에 새 값을 입력해야 합니다. 현재 radix를 변경하려면 디버거 명령 창에서 n(숫자 기준 설정) 명령을 사용합니다.

  • 사용자 모드에서 레지스터 창에는 현재 스레드와 연결된 레지스터가 표시됩니다. 현재 스레드에 대한 자세한 내용은 프로세스 및 스레드 제어를 참조하세요.

  • 커널 모드에서 레지스터 창에는 현재 레지스터 컨텍스트와 연결된 레지스터가 표시됩니다. 특정 스레드, 컨텍스트 레코드 또는 트랩 프레임과 일치하도록 레지스터 컨텍스트를 설정할 수 있습니다. 지정된 레지스터 컨텍스트에 대한 가장 중요한 레지스터만 실제로 표시됩니다. 값을 변경할 수 없습니다.

레지스터 창에는 사용자 지정 단추가 포함된 도구 모음이 있으며 추가 명령이 포함된 바로 가기 메뉴가 있습니다. 메뉴에 액세스하려면 제목 표시줄을 길게 누르거나 창의 오른쪽 위 모서리 근처에 있는 아이콘을 선택합니다(WinDbg에 등록 창 바로 가기 메뉴를 표시하는 단추 아이콘의 스크린샷).

  • (도구 모음 및 메뉴) 사용자 지정 을 선택하면 이 항목 내의 다음 섹션에 설명된 등록 목록 사용자 지정 대화 상자가 열립니다.

  • (메뉴에만 해당) 도구 모음 은 도구 모음을 켜고 끕니다.

  • (메뉴에만 해당) 도킹 또는 도킹 해제 로 인해 창이 도킹된 상태로 들어가거나 그대로 유지됩니다.

  • (메뉴에만 해당) 새 도크로 이동 하면 레지스터 창이 닫히고 새 도크에서 열립니다.

  • (메뉴에만 해당) 창 유형에 대한 탭 도킹 대상으로 설정 은 레지스터 창에 사용할 수 없습니다. 이 옵션은 원본 또는 메모리 창에만 사용할 수 있습니다.

  • (메뉴에만 해당) 항상 부동 하면 도킹 위치로 끌어도 창이 도킹되지 않은 상태로 유지됩니다.

  • (메뉴에만 해당) 프레임을 사용하여 이동 하면 창이 도킹 해제된 경우에도 WinDbg 프레임이 이동될 때 창이 이동합니다.

  • (메뉴에만 해당) 도움말 은 Windows용 디버깅 도구 설명서에서 이 항목을 엽니다.

  • (메뉴에만 해당) 닫기 에서 이 창을 닫습니다.

레지스터 목록 사용자 지정 대화 상자

표시되는 레지스터 목록을 변경하려면 사용자 지정 단추를 선택합니다. 등록 목록 사용자 지정 대화 상자가 나타납니다.

이 대화 상자에서 레지스터 목록을 편집하여 레지스터가 표시되는 순서를 변경할 수 있습니다. (실제로 목록에서 레지스터를 삭제할 수 없습니다. 이렇게 하면 끝에 다시 나타납니다.) 레지스터 이름 사이에 공백이 있어야 합니다.

수정된 레지스터 값 표시 검사 상자를 선택하면 값이 가장 최근에 변경된 레지스터가 맨 위에 나타납니다.

하위 등록 검사 표시 안 함 상자를 선택하면 하위 등록이 표시되지 않습니다. 예를 들어 eax 는 표시되지만 ax, ah 또는 al은 표시되지 않습니다.

확인을 선택하여 변경 내용을 저장하거나 취소를 선택하여 변경 내용을 취소합니다.

둘 이상의 프로세서 종류가 있는 다중 프로세서 컴퓨터를 디버깅하는 경우 WinDbg는 각 프로세서 유형에 대한 사용자 지정 설정을 별도로 저장합니다. 이렇게 분리하면 각 프로세서의 레지스터 표시를 동시에 사용자 지정할 수 있습니다.

조사식 창

WinDbg에서 조사식 창을 사용하여 레지스터를 표시할 수 있습니다. 조사식 창을 사용하여 레지스터 값을 변경할 수 없습니다.

조사식 창을 열려면 보기 메뉴에서 조사식 을 선택합니다. Alt+2를 누르거나 도구 모음에서 조사식 단추를 선택할 수도 있습니다. WinDbg의 조사식 단추 스크린샷.

다음 스크린샷은 조사식 창의 예를 보여줍니다.

WinDbg의 조사식 창 스크린샷

추가 정보

레지스터 컨텍스트 및 기타 컨텍스트 설정에 대한 자세한 내용은 컨텍스트 변경을 참조하세요.