在 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 檢測到缺少必需的符號時,將顯示一個對話方塊提示您執行操作。 當您啟動混合模式偵錯工作階段時,通常會看到對話方塊。 此對話方塊包含 Open symbol settings 對話方塊連結,可開啟 >Tools Options 對話方塊至 Debugging > Symbols 頁籤,以及此檔案文章的連結。

顯示 Visual Studio 中提示提供遺漏的必要偵錯符號的螢幕擷取畫面。

必要條件

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

檢查您的解譯器版本

符號在 Python 的小版本和 32 位元和 64 位元版本之間不同。 確認您的 Python 版本和版本很重要,以確保您的直譯器有正確的符號。

若要檢查正在使用哪個 Python 解譯器:

  1. Solution Explorer,展開專案下的 Python Environments 節點。

  2. 找出目前環境的名稱 (以粗體顯示)。

  3. 在環境名稱上按一下滑鼠右鍵,然後選取 [在這裡開啟命令提示字元]

    會開啟指令提示視窗,顯示目前環境的安裝位置。

  4. 輸入下列指令來啟動 python:

    python.exe
    

    執行程式會顯示已安裝的 Python 版本,並指示它是是 32 位元還是 64 位元:

    顯示如何使用開啟至目前環境安裝位置的命令提示字元來偵測 Python 版本的螢幕擷取畫面。

載入符號

以下步驟說明如何下載 Python 解譯器所需的符號。

  • 對於 Python 3.5 和更新版本,請透過 Python 安裝程式獲取偵錯符號。

    1. 選取 Custom 安裝,然後選取 Next。

    2. Advanced Options 頁面上,選取 Download debugging symbols 和 Download debug binaries:

      顯示如何在 Python 3.x 安裝程式中選取偵錯符號和二進位檔的螢幕擷取畫面。

    符號檔案 (.pdb) 位於根安裝資料夾中。 個別模組的符號檔案也會放在 DLLs 資料夾中。

    Visual Studio 會自動尋找這些符號。 無需採取進一步的步驟。

  • 對於 Python 3.4.x 和更早版本,符號能夠做為可下載的 .zip 檔案從官方發行版Enthought 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. 選取 Tools >Options,開啟 >Debugging Symbols 標籤。

  2. 選取工具列上的 Add (加號)。

  3. 輸入您解壓縮下載符號的資料夾路徑。 此位置是 python.pdb 檔案的所在位置,如 c:\python34\Symbols,如下圖所示。

    顯示 [工具選項偵錯] 對話方塊上的混合模式偵錯工具符號選項的螢幕擷取畫面。

  4. 選取 [確定]。

偵錯工作階段期間,Visual Studio 也可能會提示您輸入 Python 解譯器的原始程式檔位置。 如果您下載來源檔案 (例如從 python.org/downloads/),您可以將 Visual Studio 指向下載的檔案。

符號快取選項

Tools >Options DebuggingSymbols 對話>方塊也包含配置符號快取的選項。 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),不提供解譯器符號。 這些版本與混合模式偵錯不相容。