반응형

http://msdn.microsoft.com/ko-kr/library/d5zhxt22(v=vs.100).aspx


덤프 파일

Visual Studio 2010
이 항목은 아직 평가되지 않았습니다.이 항목 평가

이 항목은 다음 언어에 적용됩니다.

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

항목이 적용되지 않음항목이 적용되지 않음항목이 적용되지 않음항목이 적용되지 않음항목이 적용되지 않음

Pro, Premium 및 Ultimate

항목이 적용됨

항목이 적용됨

항목이 적용되지 않음

항목이 적용됨

항목이 적용됨

이전에는 크래시 덤프라고 했던 덤프 파일을 사용하면 나중에 디버깅하기 위해 프로그램 정보를 저장할 수 있습니다. 덤프 파일은 소스 또는 기호 파일이 없는 컴퓨터에서 프로그램을 테스트할 때 특히 유용합니다. 충돌이 발생할 경우 덤프 파일을 저장했다가 나중에 빌드 컴퓨터나 소스 파일과 디버깅 기호가 있는 다른 컴퓨터에서 덤프 파일을 디버깅할 수 있습니다.


Visual Studio에서 저장하고 여는 덤프 파일은 미니덤프라는 파일 형식을 사용합니다. Visual Studio에서는 힙 정보의 사용 여부와 관계없이 미니덤프 파일을 저장할 수 있습니다.


Visual Studio 2010 디버거는 관리 코드나 네이티브 코드에 대해 미니덤프 파일을 저장할 수 있습니다. 이 디버거는 Visual Studio 2010 또는 파일을 미니덤프 형식으로 저장하는 다른 프로그램에서 생성된 덤프 파일을 로드할 수 있습니다.

여러 가지 방법으로 덤프를 만들고 저장할 수 있습니다.

Visual Studio 2010 디버거에서는 관리 코드, 비관리 코드 또는 이 둘 모두에 대한 정보가 포함된 덤프 파일을 읽을 수 있습니다.일반 디버깅 창을 사용하여 네이티브 덤프와 관리 덤프를 모두 디버깅할 수 있습니다.


다음 단원에서는 덤프를 디버깅하는 방법에 대한 추가 정보를 제공합니다.

개념

기타 리소스





덤프 요구 사항 및 제한

Visual Studio 2010
이 항목은 아직 평가되지 않았습니다.이 항목 평가

이 항목은 다음 언어에 적용됩니다.

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

항목이 적용되지 않음항목이 적용되지 않음항목이 적용되지 않음항목이 적용되지 않음항목이 적용되지 않음

Pro, Premium 및 Ultimate

항목이 적용됨

항목이 적용됨

항목이 적용되지 않음

항목이 적용됨

항목이 적용됨

덤프 파일을 디버깅하는 경우 디버깅하는 컴퓨터에서 프로그램의 이진 파일과 PDB 기호 파일에 액세스할 수 있어야 합니다. Visual Studio는 일부 모듈의 누락된 이진 파일을 처리할 수 있지만 유효한 호출 스택을 생성하는 데 충분한 모듈에 대한 이진 파일이 있어야 합니다. 그렇지 않으면 모듈 창에 "일치하는 이진 파일이 없습니다." 메시지가 나타납니다. 자세한 내용은 덤프 모듈 로드을 참조하십시오.


힙을 사용하여 저장된 미니덤프를 로드하는 경우에는 응용 프로그램 이진 파일이 없더라도 Visual Studio에서 기호를 로드할 수 있습니다. 힙이 없는 미니덤프 파일에는 기호를 로드하려면 이진 파일이 필요합니다. 그러나 힙이 없는 미니덤프 파일은 매우 작아 저장소 또는 대역폭 제한이 있는 경우 중요한 고려 사항이 될 수 있습니다. 미니덤프 형식에 대한 자세한 내용은 덤프 파일를 참조하십시오.


Visual Studio 2010에서 디버깅 창을 사용하여 네이티브 및 관리되는 미니덤프 파일을 모두 디버깅할 수 있습니다.

Visual Studio 2008은 디버거 창에 관리 코드 디버깅을 지원하지 않았습니다. SOS라는 도구에 필요한 관리되는 미니덤프 파일을 디버깅하려면 직접 실행 창에서 실행합니다. Visual Studio 2010에서 SOS는 관리되는 미니덤프 파일 디버깅에 더 이상 필요하지 않습니다. SOS를 계속 사용하려면 방법: SOS 사용를 참조하십시오.







Visual Studio 2010에서 네이티브 프로세스나 관리되는 프로세스의 덤프 파일을 향후 디버깅을 위해 저장할 수 있습니다. Visual Studio 또는 기타 덤프 생성 유틸리티에서 만든 덤프 파일을 로드할 수도 있습니다.

덤프 파일을 저장하려면

  1. 디버그 메뉴에서 다른 이름으로 덤프 저장을 클릭합니다.

  2. 다른 이름으로 덤프 저장 대화 상자의 파일 형식 목록에서 미니덤프 또는 힙 사용 미니덤프를 선택합니다.


    힙 사용 미니덤프는 Visual Studio에 사용되는 기본 덤프 형식입니다. 미니덤프는 보다 적은 정보를 제공하지만 그만큼 작은 공간을 필요로 합니다. 자세한 내용은 덤프 요구 사항 및 제한을 참조하십시오.

  3. 탐색 컨트롤을 사용하여 저장 위치를 선택합니다.

  4. 저장을 클릭합니다.


    관리 코드에서 디버깅하는 경우 다른 이름으로 덤프 저장은 관리 코드 미니덤프 파일을 만듭니다. 네이티브 코드에서 디버깅하는 경우 다른 이름으로 덤프 저장은 네이티브 코드 미니덤프 파일을 만듭니다. 혼합형 관리 코드 및 네이티브 모드를 디버깅하는 경우 다른 이름으로 덤프 저장은 관리 코드 미니덤프 파일을 만듭니다.

덤프 파일을 열려면

  1. 파일 메뉴에서 열기를 클릭하고 파일을 클릭합니다.

  2. 파일 열기 대화 상자에서 덤프 파일을 찾아 선택합니다.


    덤프 파일의 확장명은 일반적으로 .dmp입니다.

  3. 확인을 클릭합니다.


    덤프 파일 요약 창이 나타납니다. 이 창에서는 덤프 파일의 디버깅 요약 정보를 보고 기호 경로를 설정하고 디버깅을 시작하고 요약 정보를 클립보드로 복사할 수 있습니다.

  4. 작업 섹션에서 네이티브 전용(으)로 디버그 또는 혼합(으)로 디버그를 클릭하여 디버깅을 시작합니다.


    덤프 파일을 디버깅할 때 이진 데이터를 찾기 위해 Visual Studio 2010에서 기호 검색 경로를 검색합니다. Visual Studio 2010이 이진 파일을 찾을 수 있도록 옵션 대화 상자나 모듈 창에서 기호 검색 경로를 추가할 수 있습니다. 자세한 내용은 방법: 기호 위치 및 로딩 동작 지정을 참조하십시오.







방법: 기호 위치 및 로딩 동작 지정

Visual Studio 2010
이 항목은 아직 평가되지 않았습니다.이 항목 평가

이 항목은 다음 언어에 적용됩니다.

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

항목이 적용됨항목이 적용됨항목이 적용됨항목이 적용됨항목이 적용됨

Pro, Premium 및 Ultimate

항목이 적용됨항목이 적용됨항목이 적용됨항목이 적용됨항목이 적용됨

디버거에서 응용 프로그램을 디버깅하기 위해서는 PDB 파일에 저장된 기호 정보가 필요합니다. 기호 정보가 이전 형식인 DBG 파일에 저장된 경우도 있습니다. 디버깅해야 하는 타사 또는 시스템 DLL과 응용 프로그램에 대한 기호 파일이 필요합니다. 기호 파일을 컴퓨터의 디렉터리에 저장하거나 기호 서버에서 다운로드할 수 있습니다.


기본적으로 디버거는 EXE가 있는 위치에서 기호 파일을 로드합니다. 다른 디렉터리나 기호 서버의 기호를 사용하려면 위치를 Visual Studio로 지정해야 합니다.


Visual Studio에서는 디버그 세션을 시작할 때 기호가 자동으로 로드됩니다. Visual Studio에서 기호를 자동으로 로드할 모듈을 지정할 수 있습니다. 모든 모듈에 대해 기호를 자동으로 로드하지 않으려면 모듈 창을 사용하여 추가 기호를 수동으로 로드할 수 있습니다.


기호 서버를 사용하는 방법에 대한 자세한 내용은 방법: 기호 서버 사용을 참조하십시오. 기호 서버를 사용하는 경우 서버가 신뢰할 수 있는지 확인합니다. 그렇지 않으면 보안 위협에 노출될 수 있습니다.

기호 파일이 있는 디렉터리를 지정하려면

  1. 도구 메뉴에서 옵션을 선택합니다.

  2. 옵션 대화 상자에서 디버깅 노드를 열고 기호를 클릭합니다.


    기호 페이지에는 기호 파일(.pdb) 위치라는 상자가 있습니다. 이 상자 위에는 아이콘 네 개가 있습니다.

  3. 폴더 아이콘을 클릭합니다.


    편집 가능한 텍스트가 기호 파일(.pdb) 위치 상자에 나타납니다.

  4. 디렉터리 경로를 입력합니다. 문 완성 기능으로 올바른 형식을 찾을 수 있습니다.


    원격 디버깅을 수행하려는 경우 관리 코드의 기호 파일 및 기호 서버 캐시가 원격 컴퓨터에 있어야 합니다. 네이티브 코드의 기호 파일 및 기호 서버 캐시는 로컬 컴퓨터에 있어야 합니다.

  5. 원격 기호 서버의 기호를 사용하는 경우 기호를 복사할 수 있는 로컬 디렉터리를 지정하면 성능을 향상시킬 수 있습니다. 이렇게 하려면 이 디렉터리의 기호 캐시 상자에 경로를 입력합니다. 원격 컴퓨터에서 프로그램을 디버깅하는 경우 캐시 디렉터리는 원격 컴퓨터에 있는 디렉터리를 가리킵니다.

  6. 확인을 클릭합니다.

기호 경로 목록에서 경로 이름을 제거하려면

  1. 이전 절차의 설명에 따라 옵션 대화 상자를 열고 기호 페이지를 찾습니다.

  2. 기호 파일(.pdb) 위치 상자에서 경로를 선택합니다.

  3. 빨간색 X 아이콘을 클릭합니다.

  4. 확인을 클릭합니다.

자동으로 로드할 기호를 지정하려면

  1. 이전 절차의 설명에 따라 옵션 대화 상자를 열고 기호 페이지를 찾습니다.

  2. 다음에 대한 기호 자동으로 로드에서 제외되지 않은 모두 모듈 또는 지정된 모듈만을 클릭합니다.

  3. 제외되지 않은 모두 모듈을 선택한 경우 제외된 모듈 지정을 클릭할 수 있습니다.


    자동 로드에서 제외할 기호 대화 상자가 나타납니다.


    문서 아이콘을 클릭하여 모듈을 모듈 목록에 추가하거나, 모듈 목록에서 모듈을 선택하고 X 아이콘을 클릭하여 제거합니다.


    끝마쳤으면 확인을 클릭합니다.

  4. 지정된 모듈만을 선택한 경우 모듈 지정을 클릭할 수 있습니다.


    자동으로 로드할 기호 대화 상자가 나타납니다.


    문서 아이콘을 클릭하여 모듈을 모듈 목록에 추가하거나, 모듈 목록에서 모듈을 선택하고 X 아이콘을 클릭하여 제거합니다.


    기본적으로 기호는 응용 프로그램 모듈이 항상 로드되는 디렉터리에 있습니다. 이 기본 동작을 중지하려면 모듈 옆에 있는 기호 항상 로드를 선택 취소합니다.


    끝마쳤으면 확인을 클릭합니다.

  5. 확인을 클릭합니다.

모듈 창에서 수동으로 기호를 로드할 수 있습니다.Visual Basic, Visual C# 또는 Web Developer Express Edition에서는 이 기능을 사용할 수 없습니다.

기호를 수동으로 로드하려면

  1. 모듈 창에서 마우스 오른쪽 단추를 클릭하고 다음에서 기호 로드를 가리킨 다음 기호 경로 또는 Microsoft 기호 서버를 클릭합니다.


    디버거에서 기호 경로 또는 기호 서버를 검색하여 기호를 찾습니다.기호를 찾지 못하면 기호 찾기 대화 상자가 나타납니다.


  2. 기호 찾기 대화 상자에서 로드할 기호 파일을 찾은 다음 확인을 클릭합니다.


    기호 파일은 .pdb 파일 또는 .dbg 파일입니다.

디버그 설정 및 준비




반응형

+ Recent posts