我正在使用Python调试代码。我已经有一段时间没有使用Python了。我在一个整数变量上设置了一些断点。假设这个变量是X = 10
。我该如何:
- 查看变量中的内容?(我可以高亮显示,然后会出现一个黄色框,但如果有很多信息,这样显示并不实用)
- 对变量进行操作,例如我想执行
X+2
并得到结果?
我正在使用Python调试代码。我已经有一段时间没有使用Python了。我在一个整数变量上设置了一些断点。假设这个变量是X = 10
。我该如何:
X+2
并得到结果?正如评论中所指出的,有许多可以使用的Python集成开发环境(IDE)。原始问题特别涉及Eclipse,因此我的答案重点介绍了使用该IDE的解决方案。如果您喜欢其他环境,则可能存在其他解决方案...
首先,您需要确定在Eclipse中使用哪个插件。您有几个选项,如Python Wiki所示。看起来PyDev更受欢迎, 但您也可以选择其他插件。
假设您选择了PyDev,您可以使用此处描述的监视工具来评估任何表达式。或者,您可以使用控制台调试器直接在调试器中评估代码。
编辑:根据评论,您也可以使用 Window > Show View > Other > Debug > Expressions
打开表达式窗口。这与用于观察功能的窗口相同,其内容可以直接编辑。
我相信每个人都有自己的看法,但我觉得Eclipse的Python工具相当复杂。如果你没有被绑定到Eclipse IDE,可以尝试使用PyCharm。它有非常好的工具,可以做到你想要的,并且有很多教程视频。这个视频展示了如何做到你所要求的:https://www.youtube.com/watch?v=QJtWxm12Eo0
我认为你不可能仅仅使用Eclipse完成这个任务,除非你安装了大量的插件。但是,有一些非常好的Python调试工具可供选择。
如果你愿意动手,内置的Python调试器pdb可以完成你想要的所有操作。导入pdb
,在你想要中断的地方插入pdb.set_trace()
,然后你就可以进入一个交互式调试器。如果你以前使用过gdb
,那么这个调试器会非常熟悉。
如果你想使用更加专注于IDE的工具,我建议使用Immunity Debugger。它真的非常好用,并且有很多文档。不过,这可能比你想要的还要多一些。
尝试使用开源免费的VS Code(带有Python插件)。它具有流畅的智能感知功能,您可以查看、检查变量并对其进行调试。该编辑器基于node.js并可以在任何平台上运行。我认为Eclipse对于Python开发来说过于复杂了。
ipdb
是 Python 调试的一个方便工具:
ipdb 导出了访问 IPython 调试器的函数,它具有选项卡补全、语法高亮、更好的回溯、与 pdb 模块相同接口的更好的内省等特性。
要安装 ipdb,只需在 shell 中运行 pip install ipdb --user
。
要设置断点,请在您想要跳转到调试器的行之前添加 import ipdb; ipdb.set_trace()
。例如:
import ipdb; ipdb.set_trace()
X=10
当你运行程序python myfunc.py
时,将会触发一个类似IPython的交互式shell,你可以在其中运行Python命令。例如:
ipdb> p X
10
ipdb> X+2
12