簡體   English   中英

Visual Studio Code Python 調試器不會觸發子文件夾文件中的斷點

[英]Visual Studio Code Python debugger does not trigger breakpoints in subfolder files

我在 Ubuntu 20.04 LTS 上使用 Visual Code 1.55.2。 我有一個簡單的問題,即如果斷點位於我項目的子文件夾中,我將無法觸發它們。 這是我的launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Main",
            "type": "python",
            "request": "launch",
            "program": "Main.py",
            "console": "integratedTerminal",
            "cwd": "${fileDirname}"
        }
    ]
}

我添加了cwd屬性並指定了要運行的程序namefile 所以現在,每當我點擊我的調試配置時,一切正常,除了一些斷點被忽略的事實。 這是我的工作目錄的傳真:

.
├── subfolder
│   ├── subfile1.py
│   └── subfile2.py
├── file1.py
├── file2.py
├── file3.py
├── file4.py
├── Main.py
└── .vscode
    └── settings.json

subfile1.py 和 subfile2.py 中的所有斷點都被忽略。

我試圖閱讀官方文檔,但我無法很好地理解它。

謝謝你的幫助!

- - 更新 - -

遺憾的是,我不允許分享我的代碼,所以我只能通過文字或示例來描述問題。

也就是說,我剛剛完成了對這個問題的更多測試,我發現子文件夾本身不是問題,但是無論如何,調試器都會跳過我的代碼中的斷點行,我確信會讀取斷點行正確列出在“運行和調試”選項卡,“斷點”部分,如下圖示例(注意“Python:Main”配置文件內容如上一段所示):

我的示例代碼中正確列出了斷點

事實上,當我決定用它來調試這個項目而不是依賴 pyCharm 時,我的 VS 代碼問題就開始了,它一直運行良好,沒有任何問題。 為了提供更多上下文,我可以說我的項目涉及 PyQt5,因此它在屏幕上創建了一個交互式 window。 我正在測試的代碼部分應該在要求程序通過 GUI 上的按鈕打開文件(工作正常)之后觸發,然后我實際上從操作系統管理的文件資源管理器中選擇一個文件。 遺憾的是,斷點沒有觸發。 使用 pyCharm,一切都按預期工作:一旦我到達該特定行,代碼就會停止。 VS 代碼不會發生這種情況,因此調試器的行為不同,或者有一些設置需要調整。 我知道的唯一 VS 代碼“調整/設置變量”是launch.json

鑒於這些新見解,問題似乎更像是 IDE 的無響應,因為如果我在該特定文件的第一行設置斷點,調試器實際上會停在那里。 所以我接下來嘗試的是保留兩個斷點(第一行的斷點和“未觸發”的斷點),看看會發生什么:第一個斷點有效,第二個斷點仍然被忽略。 如果這很重要,我在兩個 IDE 中都使用 anaconda “基礎”環境及其解釋器。

使用默認調試配置並重試:

"configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",  
        }
    ]

在此處輸入圖像描述

有關調試的更多信息,請查看 Visual Studio Code 中的調試Python 調試配置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM