다음을 통해 공유


WinDbg에서 메모리 보기 및 편집(클래식)

WinDbg에서는 명령을 입력하거나 메모리 창을 사용하여 메모리를 보고 편집할 수 있습니다.

디버거 명령 창

디버거 명령 창에서 메모리 표시 명령 중 하나를 입력하여 메모리를 볼 수 있습니다. 디버거 명령 창에서 값 입력 명령 중 하나를 입력하여 메모리를 편집할 수 있습니다. 자세한 내용은 가상 주소로 메모리 액세스실제 주소로 메모리 액세스를 참조하세요.

메모리 창 열기

메모리 창을 열려면 보기 메뉴에서 메모리를 선택합니다. (ALT+5를 누르거나 메모리 단추를 선택할 수도 있습니다(WinDbg의 메모리 단추 스크린샷).

다음 스크린샷은 메모리 창의 예를 보여줍니다.

WinDbg의 예제 메모리 창 스크린샷

메모리 창 사용

메모리 창에는 여러 열에 데이터가 표시됩니다. 창 왼쪽의 열에는 각 줄의 시작 주소가 표시됩니다. 나머지 열은 요청된 정보를 왼쪽에서 오른쪽으로 표시합니다. 표시 형식 메뉴에서 바이트를 선택하면 이러한 바이트에 해당하는 ASCII 문자가 창의 오른쪽에 표시됩니다.

참고 기본적으로 메모리 창에는 가상 메모리가 표시됩니다. 이 유형의 메모리는 사용자 모드에서 사용할 수 있는 유일한 메모리 유형입니다. 커널 모드에서는 메모리 옵션 대화 상자를 사용하여 실제 메모리 및 기타 데이터 공간을 표시할 수 있습니다. 메모리 옵션 대화 상자는 이 항목의 뒷부분에 설명되어 있습니다.

메모리 창에서 다음을 수행할 수 있습니다.

  • 메모리에 쓰려면 메모리 창 내에서 를 선택하고 새 데이터를 입력합니다. 16진수 데이터만 편집할 수 있습니다. ASCII 및 유니코드 문자를 직접 편집할 수는 없습니다. 변경 내용은 새 정보를 입력하는 즉시 적용됩니다.

  • 메모리의 다른 섹션을 보려면 메모리 창 도구 모음에서 이전다음 단추를 사용하거나 PAGE UP 또는 PAGE DOWN 키를 누릅니다. 이러한 단추와 키는 메모리의 바로 앞 또는 다음 섹션을 표시합니다. 잘못된 페이지를 요청하면 오류 메시지가 나타납니다.

  • 창 내에서 탐색하려면 오른쪽 화살표, 왼쪽 화살표, 위쪽 화살표 및 아래쪽 화살표 키를 사용합니다. 이러한 키를 사용하여 페이지에서 벗어나면 새 페이지가 표시됩니다. 이러한 키를 사용하기 전에 스크롤 막대가 없도록 메모리 창의 크기를 조정해야 합니다. 이 크기 조정을 사용하면 실제 페이지 가장자리와 창 구분을 구분할 수 있습니다.

  • 표시되는 메모리 위치를 변경하려면 메모리 창 맨 위에 있는 주소 상자에 새 주소를 입력합니다. 주소를 입력하는 동안 메모리 창이 디스플레이를 새로 고치므로 주소 입력을 완료하기 전에 오류 메시지가 나타날 수 있습니다.

    참고 상자에 입력하는 주소는 현재 반지름으로 해석됩니다. 현재 radix가 16이 아니면 0x가 있는 16진수 주소 앞에 접두사를 지정해야 합니다. 기본 radix를 변경하려면 디버거 명령 창에서 n(숫자 기준 설정) 명령을 사용합니다. 메모리 창 자체 내의 디스플레이는 현재 radix의 영향을 받지 않습니다.

  • 창에서 메모리를 표시하는 데 사용하는 데이터 형식을 변경하려면 메모리 창 도구 모음의 표시 형식 메뉴를 사용합니다. 지원되는 데이터 형식에는 짧은 단어, 이중 단어 및 쿼드 단어가 포함됩니다. short, long 및 quad 정수 및 부호 없는 정수; 10비트, 16비트, 32비트 및 64비트 실수; ASCII 문자; 유니코드 문자; 및 16진수 바이트입니다. 16진수 바이트 표시에는 ASCII 문자도 포함됩니다.

메모리 창에는 두 개의 단추, 메뉴 및 상자가 포함된 도구 모음이 있으며 추가 명령이 있는 바로 가기 메뉴가 있습니다. 메뉴에 액세스하려면 제목 표시줄을 길게 누르거나 마우스 오른쪽 단추로 클릭하거나 도구 모음의 창 오른쪽 위 모서리 근처에 있는 아이콘을 선택합니다. ALT+SHIFT+5는 활성 메모리 창을 닫습니다.

  • (도구 모음에만 해당) 주소 상자를 사용하면 새 주소 또는 오프셋을 지정할 수 있습니다. 이 상자의 정확한 의미는 보고 있는 메모리 유형에 따라 다릅니다. 예를 들어 가상 메모리를 보는 경우 상자를 사용하면 새 가상 주소 또는 오프셋을 지정할 수 있습니다.

  • (도구 모음에만 해당) 표시 형식 을 사용하면 새 표시 형식을 선택할 수 있습니다.

  • (도구 모음 및 메뉴) 이전 (도구 모음) 및 이전 페이지 (바로 가기 메뉴)로 인해 이전 메모리 섹션이 표시됩니다.

  • (도구 모음 및 메뉴) 다음 (도구 모음) 및 다음 페이지 (바로 가기 메뉴)로 인해 메모리의 다음 섹션이 표시됩니다.

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

  • (메뉴에만 해당) 열 자동 맞춤은 메모리 창에 표시되는 열 수가 메모리 창의 너비에 맞도록 합니다.

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

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

  • (메뉴에만 해당) 창 유형에 대해 탭 도킹 대상으로 설정 하면 선택한 메모리 창이 다른 메모리 창의 탭 도킹 대상으로 설정됩니다. 탭 도킹 대상으로 선택한 후에 열리는 모든 메모리 창은 탭 컬렉션에서 해당 창과 자동으로 그룹화됩니다.

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

  • (메뉴에만 해당) 프레임을 사용하여 이동 하면 창이 고정되지 않은 경우에도 WinDbg 프레임이 이동될 때 창이 이동합니다.

  • (메뉴에만 해당) 속성메모리 옵션 대화 상자를 엽니다. 이 대화 상자는 이 항목 내의 다음 섹션에 설명되어 있습니다.

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

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

메모리 옵션 대화 상자

바로 가기 메뉴에서 속성을 선택하면 메모리 옵션 대화 상자가 나타납니다.

커널 모드에서는 가상 메모리, 실제 메모리, 버스 데이터, 제어 데이터, I/O(I/O 포트 정보) 및 MSR(모델별 레지스터 정보)의 6가지 메모리 유형을 탭으로 사용할 수 있습니다. 액세스하려는 정보에 해당하는 탭을 선택합니다.

사용자 모드에서는 가상 메모리 탭만 사용할 수 있습니다.

각 탭을 사용하면 표시할 메모리를 지정할 수 있습니다.

  • 가상 메모리 탭의 오프셋 상자에서 보려는 메모리 범위 시작 부분의 주소 또는 오프셋을 지정합니다.

  • 실제 메모리 탭의 오프셋 상자에서 보려는 메모리 범위의 시작 부분의 실제 주소를 지정합니다. 메모리 창은 설명된 캐시 가능한 실제 메모리만 표시할 수 있습니다. 다른 특성이 있는 실제 메모리를 표시하려면 d* (메모리 표시) 명령 또는 !d\* 확장을 사용합니다.

  • 버스 데이터 탭의 버스 데이터 형식 메뉴에서 버스 데이터 형식을 지정합니다. 그런 다음 , 버스 번호, 슬롯 번호오프셋 상자를 사용하여 보려는 버스 데이터를 지정합니다.

  • 컨트롤 데이터 탭에서 프로세서오프셋 텍스트 상자를 사용하여 보려는 컨트롤 데이터를 지정합니다.

  • I/O 탭의 인터페이스 유형 메뉴에서 I/O 인터페이스 형식을 지정합니다. 버스 번호, 주소 공간오프셋 상자를 사용하여 보려는 데이터를 지정합니다.

  • MSR 탭의 MSR 상자에서 보려는 모델별 레지스터를 지정합니다.

각 탭에는 표시 형식 메뉴도 포함되어 있습니다. 이 메뉴는 메모리 창의 표시 형식 메뉴와 동일한 효과를 냅니다.

메모리 옵션 대화 상자에서 확인을 선택하여 변경 내용을 적용합니다.

추가 정보

메모리 조작 및 다른 메모리 관련 명령에 대한 설명에 대한 자세한 내용은 메모리 읽기 및 쓰기를 참조하세요.