Python 인터프리터에 대한 디버깅 기호 설치Installing Debugging Symbols for Python Interpreters

완전한 디버깅 환경을 제공하기 위해, Visual Studio의 혼합 모드 Python 디버거는 수많은 내부 데이터 구조를 구문 분석하는 데 사용되는 Python 인터프리터의 디버그 기호가 필요합니다.To provide a full debugging experience, the mixed-mode Python debugger in Visual Studio needs debug symbols for the Python interpreter being used to parse numerous internal data structures. 예를 들어 python27.dll의 경우 해당 기호 파일은 python27.pdb이고, python36.dll의 경우 기호 파일은 python36.pdb입니다.For python27.dll, for example, the corresponding symbol file is python27.pdb; for python36.dll, the symbol file is python36.pdb. 인터프리터의 각 버전은 다양한 모듈에 대한 기호 파일도 제공합니다.Each version of the interpreter also supplies symbol files for a variety of modules.

Visual Studio 2017에서 “Python 3” 및 “Anaconda 3” 인터프리터는 자동으로 각 기호를 설치하고 Visual Studio는 자동으로 해당 기호를 찾습니다.With Visual Studio 2017, the "Python 3" and "Anaconda 3" interpreters automatically install their respective symbols and Visual Studio find those symbols automatically. Visual Studio 2015 및 이전 버전의 경우 또는 다른 인터프리터를 사용하는 경우 별도로 기호를 다운로드한 다음 디버깅 > 기호 탭의 도구 > 옵션 대화 상자를 통해 Visual Studio가 해당 기호를 가리키도록 해야 합니다. 이러한 단계는 다음 섹션에 자세히 설명되어 있습니다.For Visual Studio 2015 and earlier, or when using other interpreters, you need to download symbols separately and then point Visual Studio to them through the Tools > Options dialog in the Debugging > Symbols tab. These steps are detailed in the following sections.

Visual Studio는 기호가 필요한 경우(일반적으로 혼합 모드 디버깅 세션을 시작하는 경우) 메시지를 표시할 수 있습니다.Visual Studio may prompt you when it needs symbols, typically when starting a mixed-mode debugging session. 이 경우 다음과 같은 두 가지 선택 사항이 포함된 대화 상자를 표시합니다.In this case, it displays a dialog with two choices:

  • 기호 설정 대화 상자 열기디버깅 > 기호 탭에 대한 옵션 대화 상자를 엽니다.Open symbol settings dialog opens the Options dialog to the Debugging > Symbols tab.
  • 인터프리터용 기호 다운로드는 이 현재 설명서 페이지를 엽니다. 이 경우 도구 > 옵션을 선택하고 디버깅 > 기호 탭으로 이동하여 계속합니다.Download symbols for my interpreter opens this present documentation page, in which case, select Tools > Options and navigate to the Debugging > Symbols tab to continue.

    혼합 모드 디버거 기호 프롬프트

기호 다운로드Downloading symbols

  • Python 3.5 이상: Python 설치 관리자를 통해 디버그 기호를 가져옵니다.Python 3.5 and later: acquire debug symbols through the Python installer. 사용자 지정 설치를 선택하고 다음을 선택하여 고급 옵션으로 이동한 다음, 디버깅 기호 다운로드디버그 버전의 이진 파일 다운로드 상자를 선택합니다.Select Custom installation, select Next to get to Advanced Options, then select the boxes for Download debugging symbols and Download debug binaries:

    디버그 기호를 포함한 Python 3.x 설치 관리자

    기호 파일(.pdb)은 루트 설치 폴더에 있습니다(개별 모듈에 대한 기호 파일도 DLLs 폴더에 있음).The symbol files (.pdb) are then found in the root installation folder (symbol files for individual modules are in the DLLs folder as well). 따라서 Visual Studio는 자동으로 해당 기호 파일을 찾으므로 추가 단계가 필요하지 않습니다.Because of this, Visual Studio finds them automatically, and no further steps are needed.

  • Python 3.4.x 및 이전 버전: 기호는 공식 배포 또는 Enthought Canopy에서 다운로드 가능한 .zip 파일로 제공됩니다.Python 3.4.x and earlier: symbols are available as downloadable .zip files from the official distributions or Enthought Canopy. 다운로드한 후 로컬 폴더(예: Python 폴더 내의 Symbols 폴더)에 파일의 압축을 풀어 계속합니다.After downloading, extract files to a local folder to continue, such as a Symbols folder within the Python folder.

    중요

    기호는 Python의 부 빌드 간에 다르고 32비트 빌드와 64비트 빌드 간에도 다르므로 버전을 정확하게 일치시키고자 할 수 있습니다.Symbols differ between minor builds of Python, and between 32-bit and 64-bit builds, so you want to exactly match the versions. 사용 중인 인터프리터를 확인하려면 솔루션 탐색기의 프로젝트 아래에서 Python 환경 노드를 확장하고 환경 이름을 확인합니다.To check the interpreter being used, expand the Python Environments node under your project in Solution Explorer and note the environment name. 그런 다음 Python 환경 으로 전환하여 설치 위치를 확인합니다.Then switch to the Python Environments window and note the install location. 그런 다음 해당 위치에서 명령 창을 열고 python.exe를 시작합니다. 그러면 정확한 버전과 32비트인지, 64비트인지 표시됩니다.Then open a command window in that location and start python.exe, which displays the exact version and whether it's 32-bit or 64-bit.

  • ActiveState Python과 같은 타사 Python 배포의 경우: 해당 배포 작성자에게 문의하여 기호를 제공하도록 요청합니다.For any other third-party Python distribution such as ActiveState Python: contact the authors of that distribution and request them to provide you with symbols. 그러나 WinPython은 자체로서는 표준 Python 인터프리터를 변경하지 않고 통합하므로 해당 버전 번호에 대한 공식 배포의 기호를 사용합니다.WinPython, for its part, incorporates the standard Python interpreter without changes, so use symbols from the official distribution for the corresponding version number.

Visual Studio가 기호를 가리키도록 하기Pointing Visual Studio to the symbols

기호를 별도로 다운로드한 경우 아래 단계에 따라 Visual Studio가 이 사실을 인지하도록 합니다.If you downloaded symbols separately, follow the steps below to make Visual Studio aware of them. Python 3.5 또는 이후 설치 관리자를 통해 기호를 설치한 경우 Visual Studio에서 자동으로 해당 기호를 찾습니다.If you installed symbols through the Python 3.5 or later installer, Visual Studio finds automatically.

  1. 도구 > 옵션 메뉴를 선택하고 디버깅 > 기호로 이동합니다.Select the Tools > Options menu and navigate to Debugging > Symbols.

  2. 도구 모음에서 추가 단추를 선택하고(아래에 설명되어 있음) 다운로드한 기호를 확장한 폴더(python.pdb가 있는 위치, 예: 아래에 표시된 c:\python34\Symbols)를 입력하고 확인을 선택합니다.Select the Add button on the toolbar (outlined below), enter the folder where you expanded the downloaded symbols (which is where python.pdb is located, such as c:\python34\Symbols, shown below), and select OK.

    혼합 모드 디버거 기호 옵션

  3. 디버깅 세션 중에 Visual Studio에서 Python 인터프리터의 소스 파일 위치를 묻는 메시지를 표시할 수 있습니다.During a debugging session, Visual Studio might also prompt you for the location of a source file for the Python interpreter. 소스 파일을 다운로드한 경우(예: python.org/downloads에서) 물론 해당 위치도 가리킬 수 있습니다.If you've downloaded source files (from python.org/downloads, for example), then you of course can point to them as well.

참고

대화 상자에 표시된 기호 캐싱 기능은 온라인 소스에서 가져온 기호의 로컬 캐시를 만드는 데 사용됩니다.The symbol caching features shown in the dialog are used to create a local cache of symbols obtained from an online source. 이미 로컬에 있는 Python 인터프리터 기호에는 이러한 기능이 필요하지 않습니다.These features aren't needed with the Python interpreter symbols as symbols are already present locally. 어느 경우이든 자세한 내용은 Specify Symbols and Source Files in the Visual Studio Debugger(Visual Studio 디버거에서 기호 및 소스 파일 지정)를 참조하세요.In any case, refer to Specify Symbols and Source Files in the Visual Studio Debugger for details.

공식 배포Official distributions

Python 버전Python version 다운로드Downloads
3.5 이상3.5 and later Python 설치 관리자를 통해 기호를 설치하세요.Install symbols through the Python installer.
3.4.43.4.4 32비트 - 64비트32-bit - 64-bit
3.4.33.4.3 32비트 - 64비트32-bit - 64-bit
3.4.23.4.2 32비트 - 64비트32-bit - 64-bit
3.4.13.4.1 32비트 - 64비트32-bit - 64-bit
3.4.03.4.0 32비트 - 64비트32-bit - 64-bit
3.3.53.3.5 32비트 - 64비트32-bit - 64-bit
3.3.43.3.4 32비트 - 64비트32-bit - 64-bit
3.3.33.3.3 32비트 - 64비트32-bit - 64-bit
3.3.23.3.2 32비트 - 64비트32-bit - 64-bit
3.3.13.3.1 32비트 - 64비트32-bit - 64-bit
3.3.03.3.0 32비트 - 64비트32-bit - 64-bit
2.7.112.7.11 32비트 - 64비트32-bit - 64-bit
2.7.102.7.10 32비트 - 64비트32-bit - 64-bit
2.7.92.7.9 32비트 - 64비트32-bit - 64-bit
2.7.82.7.8 32비트 - 64비트32-bit - 64-bit
2.7.72.7.7 32비트 - 64비트32-bit - 64-bit
2.7.62.7.6 32비트 - 64비트32-bit - 64-bit
2.7.52.7.5 32비트 - 64비트32-bit - 64-bit
2.7.42.7.4 32비트 - 64비트32-bit - 64-bit
2.7.32.7.3 32비트 - 64비트32-bit - 64-bit
2.7.22.7.2 32비트 - 64비트32-bit - 64-bit
2.7.12.7.1 32비트 - 64비트32-bit - 64-bit

Enthought CanopyEnthought Canopy

Enthought Canopy는 버전 1.2 버전에서 시작하는 이진 파일에 대한 기호를 제공합니다.Enthought Canopy provides symbols for its binaries starting from version 1.2. 배포와 함께 자동으로 설치되지만, 앞에서 설명한 대로 여전히 기호가 포함된 폴더를 기호 경로에 수동으로 추가해야 합니다.They are automatically installed alongside with the distribution, but you still need to manually add the folder containing them to symbol path as described earlier. 일반적인 사용자별 Canopy 설치의 경우 기호는 64비트 버전의 경우 %UserProfile%\AppData\Local\Enthought\Canopy\User\Scripts에, 32비트 버전의 경우 %UserProfile%\AppData\Local\Enthought\Canopy32\User\Scripts에 있습니다.For a typical per-user installation of Canopy, the symbols are located in %UserProfile%\AppData\Local\Enthought\Canopy\User\Scripts for the 64-bit version and %UserProfile%\AppData\Local\Enthought\Canopy32\User\Scripts for the 32-bit version.

Enthought Canopy 1.1 및 이전 버전과 EPD(Enthought Python Distribution)는 인터프리터 기호를 제공하지 않으므로 혼합 모드 디버깅과 호환되지 않습니다.Enthought Canopy 1.1 and earlier, as well as Enthought Python Distribution (EPD), do not provide interpreter symbols, and are therefore not compatible with mixed-mode debugging.