共用方式為


在 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 中提示的提示詞,用以提供缺少的除錯符號。

開啟符號設定對話框會開啟工具>選項窗格,進入「所有設定>除錯>符號」區塊。

開啟符號設定對話框會開啟工具>選項對話框,進入除錯>符號區。

先決條件

  • Visual Studio 已安裝並支援 Python 工作負載。 如需詳細資訊,請參閱 在Visual Studio中安裝 Python 支援。

請檢查你的解譯版本

在 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)位於根安裝資料夾中。 個別模組的符號檔案也會被放入 DLLs 資料夾中。

    Visual Studio 會自動找到這些符號。 不需要進一步的步驟。

  • 對於 Python 3.4.x 及更早版本,符號可從.zipEnthought Canopy 下載。

    1. 下載你所需的符號檔案。

      這很重要

      務必選擇與你安裝的 Python 版本和建置檔(32 位元或 64 位元)對應的符號檔案。

    2. 將符號檔案解壓到 Python 資料夾中的本地資料夾,例如 Symbols

    3. 解壓完檔案後,下一步是設定 Visual Studio 使用符號

  • 對於其他第三方 Python 發行版,如 ActiveState Python,請聯絡該發行版的作者,請他們提供符號。

    WinPython 採用標準的 Python 直譯器,且未作任何修改。 你可以使用官方 WinPython 發行版的符號來表示對應的版本號。

將 Visual Studio 指向符號文件

如果你是另外下載符號,請依照以下步驟讓 Visual Studio 知道這些符號。

備註

如果你是用 Python 3.5 或更新版本安裝程式安裝符號,Visual Studio 會自動找到符號。 你不需要完成本節的步驟。

  1. 打開 工具>選項 欄,展開 「所有設定>除錯>符號搜尋>位置」 區塊。

  2. 符號檔案(.pdb)位置 列表的工具列中,選擇 + 新增

  3. 「新增項目 」對話框中,輸入你解壓下載符號的資料夾路徑,然後選擇 儲存

    請指定 python.pdb 檔案所在的位置,例如 c:\python34\Symbols,如下圖所示。

    截圖顯示如何指定 Python 混合模式除錯器符號的位置。

  1. 開啟「工具>選項」對話方塊,然後展開「偵錯符號>」區段。

  2. 符號檔案(.pdb)搜尋位置 清單的工具列中,選擇 新增 (加上符號)。

  3. 在清單中輸入你解壓下載符號的資料夾路徑,然後選擇 確定

    請指定 python.pdb 檔案所在的位置,例如 c:\python34\Symbols,如下圖所示。

    這張截圖顯示工具選項除錯對話框中混合模式除錯器符號的選項。

在除錯過程中,Visual Studio 也可能提示你 Python 直譯器的原始碼檔案位置。 如果你下載了原始碼檔案,例如從 python.org/downloads/,你可以設定 Visual Studio 參考這些已下載的檔案。

符號快取選項

「所有設定>除錯>符號」部分支援搜尋位置搜尋與載入子區塊中其他設定符號快取的選項。 Visual Studio 利用符號快取功能,建立從線上來源取得的符號的本地快取。

偵錯>符號 區塊支援其他配置符號快取的選項。 Visual Studio 利用符號快取功能,建立從線上來源取得的符號的本地快取。

這些功能在 Python 直譯器符號中不需要,因為符號已經存在於本地。 欲了解更多資訊,請參閱 Visual Studio 除錯器中的「指定符號與原始碼檔案」。

官方發行版的下載存取權限

下表列出官方 Python 版本的下載資訊。

Python 版本 Downloads
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 發行版(EPD)都不提供直譯器符號。 這些版本不支援混合模式除錯。