在 vs 代码中导入的 python 模块中设置断点

Posted

技术标签:

【中文标题】在 vs 代码中导入的 python 模块中设置断点【英文标题】:Set breakpoint in imported python module in vs code 【发布时间】:2019-12-13 20:22:19 【问题描述】:

我正在尝试在 VS 代码的外部 Python 模块中设置断点。

我已尝试编辑源文件并在我想要断点的位置插入import pdb; pdb.set_trace()

这会进入 pdb 命令行调试器,而不是 VS Code GUI 中的调试器。

如何在导入的 Python 模块中设置断点,以便进入 VS Code 调试器?

【问题讨论】:

【参考方案1】:

Marvin 的建议似乎就足够了:

添加启动配置 "justMyCode":false 。 见code.visualstudio.com/docs/python/debugging#_justmycode

【讨论】:

【参考方案2】:

您需要将包含导入模块的源代码的文件夹导入到项目中,使用文件 -> 将文件夹添加到工作区。就我而言,这是/Users/robinl/anaconda3/lib/python3.6/site-packages/great_expectations/

在 VS 代码中,您可以像往常一样导航到要调试的文件并通过单击代码左侧来设置断点。

【讨论】:

另外,您可能需要添加启动配置 "justMyCode":false 。见code.visualstudio.com/docs/python/debugging#_justmycode @Marvin 给出的答案在我看来是唯一必要的步骤(刚刚尝试过并且有效) 在 VS code 版本 1.51.0 Marvin 的回答是 enuf,不需要导入文件夹! @sivano 你应该在这里发布它作为答案,当前接受的答案是矫枉过正。

以上是关于在 vs 代码中导入的 python 模块中设置断点的主要内容,如果未能解决你的问题,请参考以下文章

为啥 VS Code 无法在我的程序中导入 timeit 模块?

如何对从包中导入的方法进行存根和间谍活动?

覆盖在命名空间中导入的函数

在 vs 代码中的 python 中导入 cv2 不起作用

vs code运行python导入上级目录模块问题

创建可导入的Python 3包/模块