调试时挖掘变量

时间:2016-05-31 09:57:51

标签: python eclipse debugging

我目前正在使用Python调试代码。我有一段时间没有使用过Python。我在变量上放了一些断点,这是一个整数。我们假设这个变量是X = 10。我怎么能:

  • 看看变量中有什么? (我可以突出显示并出现一个黄色的情况,但是如果有很多信息则显示这样的实际情况是不切实际的)
  • 对变量进行一些操作,例如我想做X+2并得到结果?

5 个答案:

答案 0 :(得分:3)

如评论中所述,Python中有许多possible IDEs you can use。最初的问题是关于Eclipse的,所以我的答案主要集中在使用该IDE的解决方案上。如果您喜欢不同的环境,可以采用其他解决方案......

首先,你需要弄清楚你用于eclipse的插件。您可以在python wiki上看到一些选项。它看起来像PyDev is more popular,但您可以选择其他人。

假设您使用PyDev,您可以使用here所述的监视工具来评估任何表达式。或者,您可以使用console debugger直接在调试器中评估代码。

编辑:根据评论,您还可以使用Window > Show View > Other > Debug > Expressions打开“表达式”窗口。这与用于监视设施的窗口相同,内容可以直接编辑。

答案 1 :(得分:1)

我确信每个人都有自己的看法,但我发现Eclipse的python工具非常复杂。如果您没有使用Eclipse IDE,请尝试PyCharm。它拥有非常好的工具,可以完全按照您的要求进行操作,还有很多教程视频。该视频向您展示了如何完全按照您的要求执行操作:https://www.youtube.com/watch?v=QJtWxm12Eo0

答案 2 :(得分:1)

我不认为你可以纯粹在Eclipse中完成这项工作,而不是没有广泛的插件。但是,有一些非常好的python调试工具。

如果您愿意亲自动手,内置的python调试器pdb可以完成您想要的所有操作。导入pdbpdb.set_trace()您要打破的位置,如果您之前使用过gdb,则可以进入一个非常熟悉的交互式调试器。

如果您想使用更专注于IDE的内容,我建议使用Immunity Debugger。它非常好,并且有很多文档。这可能比你正在寻找的更多。

答案 3 :(得分:0)

尝试开源,免费VS Code(使用Python插件)。它具有光滑的智能感知功能,您可以观察,检查变量,调试它们。编辑器基于node.js,可以在每个平台上运行。对于python开发恕我直言,Eclipse是过度的。

答案 4 :(得分:0)

ipdb是python调试的一个方便工具:

  

ipdb导出函数以访问IPython调试器,该调试器具有选项卡完成,语法突出显示,更好的回溯,使用与pdb模块相同的接口更好的内省。

要安装ipdb,只需在shell中运行pip install ipdb --user

要设置断点,请在要跳转到调试器的行之前添加import ipdb; ipdb.set_trace()。 E.g:

import ipdb; ipdb.set_trace()
X=10

运行程序python myfunc.py后,将触发类似IPython的交互式shell,您可以在其中运行python命令。 E.g:

ipdb> p X
10
ipdb> X+2
12

这是一个简单的教程:An Introduction to Python Debugging