WinDbg에서 메모리 보기 및 편집(클래식)
WinDbg에서는 명령을 입력하거나 메모리 창을 사용하여 메모리를 보고 편집할 수 있습니다.
디버거 명령 창
디버거 명령 창에서 메모리 표시 명령 중 하나를 입력하여 메모리를 볼 수 있습니다. 디버거 명령 창에서 값 입력 명령 중 하나를 입력하여 메모리를 편집할 수 있습니다. 자세한 내용은 가상 주소로 메모리 액세스 및 실제 주소로 메모리 액세스를 참조하세요.
메모리 창 열기
메모리 창을 열려면 보기 메뉴에서 메모리를 선택합니다. (ALT+5를 누르거나 메모리 단추를 선택할 수도 있습니다(
다음 스크린샷은 메모리 창의 예를 보여줍니다.
메모리 창 사용
메모리 창에는 여러 열에 데이터가 표시됩니다. 창 왼쪽의 열에는 각 줄의 시작 주소가 표시됩니다. 나머지 열은 요청된 정보를 왼쪽에서 오른쪽으로 표시합니다. 표시 형식 메뉴에서 바이트를 선택하면 이러한 바이트에 해당하는 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 상자에서 보려는 모델별 레지스터를 지정합니다.
각 탭에는 표시 형식 메뉴도 포함되어 있습니다. 이 메뉴는 메모리 창의 표시 형식 메뉴와 동일한 효과를 냅니다.
메모리 옵션 대화 상자에서 확인을 선택하여 변경 내용을 적용합니다.
추가 정보
메모리 조작 및 다른 메모리 관련 명령에 대한 설명에 대한 자세한 내용은 메모리 읽기 및 쓰기를 참조하세요.