【问题标题】:Visual Studio Code Python debugger does not trigger breakpoints in subfolder filesVisual Studio Code Python 调试器不会触发子文件夹文件中的断点
【发布时间】:2021-07-18 16:49:34
【问题描述】:

我在 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 中的所有断点都被忽略。

我试图阅读official documentation,但我不能很好地理解它。

感谢您的帮助!

--- 更新 ---

很遗憾,我不允许分享我的代码,所以我只能通过文字或示例来描述问题。

也就是说,我刚刚完成了对这个问题的更多测试,我发现子文件夹本身不是问题,但是无论如何,调试器都会跳过我的代码中的断点行,我确信会读取断点行正确列出在“运行和调试”选项卡,“断点”部分,如下图示例(注意“Python:Main”配置文件内容如上一段所示):



事实上,当我决定用它来调试这个项目而不是依赖 pyCharm 时,我的 VS 代码问题就开始了,它一直运行良好,没有任何问题。为了提供更多上下文,我可以说我的项目涉及 PyQt5,因此它在屏幕上创建了一个交互式窗口。我正在测试的代码部分应该在要求程序通过 GUI 上的按钮打开文件(工作正常)之后触发,然后我实际上从操作系统管理的文件资源管理器中选择一个文件。遗憾的是,断点没有触发。使用 pyCharm,一切都按预期工作:一旦我到达该特定行,代码就会停止。 VS 代码不会发生这种情况,因此调试器的行为不同,或者有一些设置需要调整。我知道的唯一 VS 代码“调整/设置变量”是launch.json

鉴于这些新见解,问题似乎更像是 IDE 的一种无响应,因为如果我在该特定文件的第一行设置断点,调试器实际上会停在那里。所以我接下来尝试的是保留两个断点(第一行的断点和“未触发”的断点),看看会发生什么:第一个断点有效,第二个断点仍然被忽略。我在两个 IDE 中都使用 anaconda“基础”环境及其解释器,如果这很重要的话。

【问题讨论】:

  • 如果方便,您能否分享代码让我重现您的问题?另外,发个断点调试的动图可以更清楚地解释你的问题。
  • @MollyWang 感谢您的关注。我刚刚用另一段更​​新了我的问题。可悲的是,我不允许公开分享此代码。无论如何,我完全理解,就您而言,仅根据我的描述来理解问题可能非常困难且耗时,所以如果您决定退出,我会完全理解。但是,也许,即使只是一些关于我可以尝试解决/进一步调查问题的建议也可能真的很有帮助!

标签: python json visual-studio-code visual-studio-debugging launch


【解决方案1】:

使用默认调试配置再试一次:

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

更多调试信息请查看DebuggingPython debug configurations in Visual Studio Code

【讨论】:

  • 感谢您的宝贵时间。我刚刚尝试生成和应用默认配置,但遗憾的是它不起作用。我会看看你提供的两个链接。无论如何,我意识到这个问题可能比仅仅与相对文件夹路径相关更复杂,所以我需要做更多的实验才能真正获得更清晰的画面。尽管如此,再次非常感谢您!
  • 我对此进行了更深入的讨论,由于我的问题结果不是那么精确,我想我会将您的回答标记为“已接受”,因为您可能已经做出了最好的回答我所描述的
  • 感谢您的好意。您可以在microsoft/vscode-python 寻求更多帮助。
  • 嗨,我不知道您是对这个问题本身感兴趣还是只是想帮助我,但如果是前者,我有时间进一步调查:我是很确定这个问题与 vs 代码调试器如何处理 pyqt5(我在该项目中使用)有关。例如,在这里我认为有一个人有类似的问题:github.com/microsoft/vscode-python/issues/… 我要指出我不是在寻求帮助,因为我也使用 pyCharm 完成了那个项目,但也许你/仍然感到困惑我遇到了什么问题:)
  • @Jetboy。谢谢,我会看看这个问题。 :)
猜你喜欢
  • 1970-01-01
  • 2019-03-19
  • 2020-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多