다음을 통해 공유


메모리 창

메모리 창을 통해 응용 프로그램에서 사용되는 메모리 공간을 볼 수 있습니다. 조사식 창, 간략한 조사식 대화 상자, 자동 창 및 지역 창에서는 메모리의 특정 위치에 저장된 변수의 내용을 보여 주지만 메모리 창에서는 이러한 내용을 포괄적으로 보여 줍니다. 이 뷰는 다른 창들에는 잘 표시되지 않는 버퍼나 큰 문자열 등의 큰 데이터를 검사하는 데 편리합니다. 그러나 메모리 창이 데이터의 표시에만 한정되는 것은 아닙니다. 메모리 창에는 메모리 공간의 할당되지 않은 메모리에 데이터, 코드 또는 임의 가비지 비트 중 어떤 내용이 있든 관계없이 메모리 공간의 모든 내용이 표시됩니다.

메모리 창은 옵션 대화 상자의 디버깅 노드에서 주소 수준 디버깅을 설정한 경우에만 사용할 수 있습니다. 메모리 개념을 인식하지 못하는 언어인 스크립트나 SQL에서는 메모리 창을 사용할 수 없습니다.

메모리 창 열기

메모리 창을 열려면

  1. 디버그 모드에 있지 않다면 디버깅을 시작합니다.

  2. 디버그 메뉴에서 을 가리킵니다. 그런 다음 메모리를 가리키고 메모리 1, 메모리 2, 메모리 3 또는 메모리 4를 클릭합니다. 낮은 버전의 Visual Studio에는 메모리 창이 하나만 있습니다. 이러한 버전을 사용 중인 경우에는 메모리를 클릭하면 됩니다.

메모리 창의 페이징

메모리 창에는 일반적이지 않은 방식으로 작동하는 세로 스크롤 막대가 있습니다. 오늘날 사용되는 컴퓨터는 주소 공간이 매우 크므로 스크롤 막대의 엄지 단추를 임의의 위치로 드래그하면 현재 위치와 방향을 잃기 쉽습니다. 이러한 이유로 엄지 단추는 "스프링이 달려 있는 것처럼" 항상 스크롤 막대 중앙에 놓이게 됩니다. 네이티브 코드 응용 프로그램에서 페이지 위나 아래로는 이동할 수 있지만 자유롭게 스크롤할 수는 없습니다.

메모리 주소가 높을수록 창의 아래쪽에 나타납니다. 따라서 상위 주소를 확인하려면 위쪽이 아니라 아래쪽으로 스크롤합니다.

메모리에서 페이지 위나 아래로 이동하려면

  1. 페이지 아래로 이동하려면(상위 메모리 주소로 이동) 세로 스크롤 막대의 엄지 단추 아래를 클릭합니다.

  2. 페이지 위로 이동하려면(하위 메모리 주소로 이동) 세로 스크롤 막대의 엄지 단추 위쪽을 클릭합니다.

메모리 위치 선택

끌어서 놓기 작업을 사용하거나 주소 상자에서 값을 편집하면 메모리에서 선택한 위치로 즉시 이동할 수 있습니다. 주소 상자에서는 숫자 값뿐 아니라 주소를 계산하는 식도 지정할 수 있습니다. 기본적으로 메모리 창에서는 주소 식을 라이브 식으로 처리하므로 프로그램을 실행할 때 이 식이 다시 계산됩니다. 라이브 식을 사용하면 매우 편리합니다. 예를 들어 라이브 식을 사용하여 포인터가 있는 위치의 메모리를 확인할 수 있습니다.

끌어서 놓기를 사용하여 메모리 위치를 선택하려면

  1. 임의의 창에서 메모리 주소가 포함된 메모리 주소 또는 포인터 변수를 선택합니다.

  2. 주소 또는 포인터를 메모리 창으로 끌어 옵니다.

편집하여 메모리 위치를 선택하려면

  1. 메모리 창에서 주소 상자를 선택합니다.

  2. 확인하려는 주소를 입력하거나 붙여 넣은 다음 Enter 키를 누릅니다.

메모리 창의 정보 표시 방식 변경

메모리 창에 메모리 내용이 표시되는 방식을 사용자 지정할 수 있습니다. 기본적으로 메모리 내용은 16진수 형식의 1바이트 정수로 표시되고 열 수는 창의 현재 너비에 따라 자동으로 지정됩니다.

메모리 내용의 형식을 변경하려면

  1. 메모리 창을 마우스 오른쪽 단추로 클릭합니다.

  2. 원하는 형식을 선택합니다.

메모리 창에 표시된 열 수를 변경하려면

  1. 메모리 창의 맨 위에 있는 도구 모음에서 목록을 찾습니다.

  2. 목록에서 표시할 열 수를 선택하거나 자동을 선택하여 창 너비에 맞게 자동으로 조정합니다.

프로그램이 실행될 때 메모리 창의 내용을 변경하지 않으려는 경우 라이브 식 계산을 해제할 수 있습니다.

라이브 계산을 설정/해제하려면

  1. 메모리 창을 마우스 오른쪽 단추로 클릭합니다.

  2. 바로 가기 메뉴에서 자동으로 다시 계산을 클릭합니다.

    라이브 계산이 설정되어 있는 경우 옵션이 선택된 상태이므로 옵션을 클릭하면 라이브 계산이 해제됩니다. 라이브 계산이 해제되어 있는 경우 옵션이 선택되지 않은 상태이므로 옵션을 클릭하면 라이브 계산이 설정됩니다.

메모리 창 맨 위에 있는 도구 모음을 숨기거나 표시할 수 있습니다. 도구 모음이 숨겨진 동안에는 주소 상자나 기타 도구에 액세스할 수 없습니다.

도구 모음을 설정/해제하려면

  1. 메모리 창을 마우스 오른쪽 단추로 클릭합니다.

  2. 바로 가기 메뉴에서 도구 모음 표시를 클릭합니다.

    도구 모음의 이전 상태에 따라 도구 모음이 나타나거나 없어집니다.

포인터가 가리키는 메모리 표시

네이티브 코드 응용 프로그램에서는 레지스터 이름을 라이브 식으로 사용할 수 있습니다. 예를 들어, 스택 포인터를 사용하여 스택을 따를 수 있습니다.

포인터가 가리키는 메모리를 표시하려면

  1. 메모리 창의 주소 상자에 포인터 식을 입력합니다. 포인터 변수는 현재 범위 안에 있어야 합니다. 사용하는 언어에 따라 포인터 변수를 역참조해야 할 수도 있습니다.

  2. Enter 키를 누릅니다.

    한 단계씩 코드 실행 등의 실행 명령을 사용할 때 포인터가 변경되면 표시된 메모리 주소도 포인터가 가리키는 메모리 주소로 자동으로 변경됩니다.

참고 항목

개념

디버거에서 데이터 보기