Visual Studio に Python インタープリターのデバッグ シンボルをインストールする

この記事では、Visual Studio で Python インタープリターのデバッグ シンボルをダウンロードして統合する手順について説明します。

完全なデバッグ エクスペリエンスを提供するため、Visual Studio の混合モードの Python デバッガーでは、多数の内部データ構造を解析するために、Python インタープリターのデバッグ シンボルが必要です。 デバッグ シンボルは、プログラム データベース (.pdb) ファイルで定義されます。 たとえば、python27.dll ライブラリには python27.pdb シンボル ファイルが必要です。python36.dll ライブラリでは python36.pdb というシンボル ファイルを使用します。 インタープリターのバージョンごとに、さまざまなモジュールに対応したシンボル ファイルを用意しています。

  • Visual Studio 2017 以降では、Python 3 および Anaconda 3 のインタープリターによって、それぞれのシンボルが自動的にインストールされ、Visual Studio で自動的に検出されます。

  • Visual Studio 2015 以前、またはその他のインタープリターの場合は、シンボルを個別にダウンロードして、Visual Studio でファイルを指定する必要があります。

Visual Studio は必要なシンボルの欠落を検出すると、アクションの実行を促すダイアログが表示されます。 通常、混合モード デバッグ セッションを開始すると、このダイアログが表示されます。 ダイアログには、このドキュメント記事へのリンクと共に、[シンボル設定ダイアログを開く] リンクが表示されます。リンクをクリックすると [ツール]>[オプション] ダイアログが開き、[デバッグ]>[シンボル] タブに移動します。

不足している必要なデバッグ シンボルを示す Visual Studio のプロンプトを示すスクリーンショット。

前提条件

インタープリターのバージョンを確認する

シンボルは、Python のマイナー ビルド間および 32 ビット ビルドと 64 ビット ビルド間で異なります。 インタープリターに正しいシンボルが設定されるように、Python のバージョンとビルドを確認することが重要です。

使用中の Python インタープリターをチェックするには:

  1. ソリューション エクスプローラーで、プロジェクトの [Python 環境]ノードを展開します。

  2. 現在の環境の名前を見つけます (太字で表示)。

  3. 環境名を右クリックし、[ここでコマンド プロンプトを開く] を選択します。

    コマンド プロンプト ウィンドウが開き、現在の環境のインストール場所が表示されます。

  4. 次のコマンドを入力して Python を起動します。

    python.exe
    

    実行プロセスでは、インストールされている Python バージョンが表示され、32 ビットか 64 ビットかを示します。

    現在の環境のインストール場所に対して開かれたコマンド プロンプトを使用して Python のバージョンを検出する方法を示すスクリーンショット。

シンボルをダウンロードする

次に、Python インタープリターに必要なシンボルをダウンロードする方法の手順について説明します。

  • Python 3.5 以降では、Python インストーラーでデバッグ シンボルを取得します。

    1. [カスタム インストール] を選択して、[次へ] を選択します。

    2. [詳細オプション] ページで、[デバッグ シンボルのダウンロード] ボックスと [デバッグ バイナリのダウンロード] ボックスを選択します。

      Python 3.x インストーラーでデバッグ シンボルとバイナリを選択する方法を示すスクリーンショット。

    シンボル ファイル (.pdb) は、ルート インストール フォルダーにあります。 個々のモジュールのシンボル ファイルも DLL フォルダーに配置されます。

    Visual Studio では、これらのシンボルが自動的に検索されます。 必要な手順は以上です。

  • Python 3.4.x 以前の場合、シンボルは、公式のディストリビューションまたは Enthought Canopy から、ダウンロード可能な .zip ファイルとして入手できます。

    1. 必要なシンボル ファイルをダウンロードします。

      重要

      インストールされている Python バージョンとビルド (32 ビットまたは 64 ビット) に対応するシンボル ファイルを必ず選択してください。

    2. シンボル ファイルを Python フォルダー内のローカル フォルダー (Symbols など) に抽出します。

    3. ファイルを抽出したら、次の手順は「Visual Studio にシンボルの場所を設定する」です。

  • ActiveState Python などサードパーティの Python ディストリビューションを使用している場合は、そのディストリビューションの作成者に連絡して、シンボルの提供を依頼する必要があります。

    WinPython には、変更なしで標準の Python インタープリターが組み込まれています。 対応するバージョン番号には、公式の WinPython ディストリビューションからのシンボルを使用できます。

Visual Studio にシンボルの場所を設定する

シンボルを個別にダウンロードした場合は、次の手順に従って、Visual Studio にシンボルを認識させます。

Note

Python 3.5 以降のインストーラーを使用してシンボルをインストールした場合、Visual Studio ではシンボルが自動的に検出されます。 このセクションの手順を行う必要はありません。

  1. [ツール]>[オプション] を選択し、[デバッグ]>[シンボル] タブを開きます。

  2. ツール バーの [追加] (プラス記号) を選択します。

  3. ダウンロードしたシンボルを抽出したフォルダー パスを入力します。 この場所は、次の図に示すように、c:\python34\Symbols などの python.pdb ファイルがある場所です。

    [ツール オプションのデバッグ] ダイアログの混合モード デバッガー シンボル オプションを示すスクリーンショット。

  4. [OK] を選択します。

Visual Studio のデバッグ セッション中に、Python インタープリターのソース ファイルの場所を入力するように求められることもあります。 python.org/downloads/ などからソース ファイルをダウンロードした場合は、ダウンロードしたファイルを Visual Studio で指定できます。

シンボルのキャッシュ オプション

[ツール]>[オプション][シンボル]>[デバッグ] ダイアログには、シンボル キャッシュを構成するためのオプションが表示されます。 Visual Studio ではシンボルのキャッシュ機能を使用して、オンライン ソースから取得したシンボルのローカル キャッシュを作成します。

Python インタープリターのシンボルの場合、既にローカルに存在しているため、これらの機能は必要ありません。 詳細については、「Visual Studio デバッガーでシンボルとソース ファイルを指定する」を参照してください。

公式のディストリビューションのダウンロードにアクセスする

次の表に、公式の Python バージョン リリースのダウンロード情報を示します。

Python バージョン ダウンロード
3.5 以降 Python インストーラーでシンボルをインストールします。
3.4.4 32 ビット - 64 ビット
3.4.3 32 ビット - 64 ビット
3.4.2 32 ビット - 64 ビット
3.4.1 32 ビット - 64 ビット
3.4.0 32 ビット - 64 ビット
3.3.5 32 ビット - 64 ビット
3.3.4 32 ビット - 64 ビット
3.3.3 32 ビット - 64 ビット
3.3.2 32 ビット - 64 ビット
3.3.1 32 ビット - 64 ビット
3.3.0 32 ビット - 64 ビット
2.7.18 32 ビット - 64 ビット
2.7.17 32 ビット - 64 ビット
2.7.16 32 ビット - 64 ビット
2.7.15 32 ビット - 64 ビット
2.7.14 32 ビット - 64 ビット
2.7.13 32 ビット - 64 ビット
2.7.12 32 ビット - 64 ビット
2.7.11 32 ビット - 64 ビット
2.7.10 32 ビット - 64 ビット
2.7.9 32 ビット - 64 ビット
2.7.8 32 ビット - 64 ビット
2.7.7 32 ビット - 64 ビット
2.7.6 32 ビット - 64 ビット
2.7.5 32 ビット - 64 ビット
2.7.4 32 ビット - 64 ビット
2.7.3 32 ビット - 64 ビット
2.7.2 32 ビット - 64 ビット
2.7.1 32 ビット - 64 ビット

Enthought Canopy シンボルを使用する

Enthought Canopy には、そのバイナリ用のデバッグ シンボルが用意されています (バージョン 1.2 以降)。 これらのシンボルは、ディストリビューションと共に自動的にインストールされます。

  • シンボルを使用するには、「Visual Studio にシンボルの場所を設定する」の説明に従って、シンボルを含むフォルダーをシンボル パスに手動で追加します。

    Canopy の一般的なユーザーごとのインストールの場合、シンボルは次のフォルダーにあります。

    • 64 ビット バージョン: %UserProfile%\AppData\Local\Enthought\Canopy\User\Scripts
    • 32 ビット バージョン: %UserProfile%\AppData\Local\Enthought\Canopy32\User\Scripts

Enthought Canopy 1.1 以前と Enthought Python Distribution (EPD) では、インタープリターのシンボルは提供されません。 これらのリリースには、混合モード デバッグとの互換性がありません。