我正在 PyCharm 中处理大量数据,并尝试调试各种处理函数,这些函数作用于使用这些数据组装的对象。由于新的调试不会带来控制台存储的变量,因此我发现有必要在每次调试时慢慢地重新加载数据。到目前为止,我已经使用pickle来保存对象,然后更快地重新加载它们,但这仍然不理想。
有没有一种方法可以在带有加载数据的控制台中工作,并在必要时开始调试 session ,该调试 session 以之前从该控制台加载的数据变量开始?
提前致谢!
最佳答案
您需要使用 PyCharm 调试器吗?您是否考虑过使用pdb
?这是内置于所有 python 安装中的。它是一个命令行调试器,如果您不习惯的话,它会让人感到害怕,但它实际上非常简单。因为它在控制台上运行,所以您可以在控制台上运行的任何 Python 程序都可以在调试器中运行,无需任何扭曲即可让您的代码在 PyCharm 等 IDE 中运行。
访问方式:
- 将您的代码调用为
python -m pdb mymodule.py
使用以下命令在 python 解释器中运行代码:
import pdb import mymodule pdb.run('mymodule.entry_function()')
将以下内容添加到您想要停下来环顾四周的代码中:
import pdb pdb.set_trace()
进入调试器后(您将看到命令行提示符 (pdb)
),您可以使用调试器命令。其中包括(并非详尽无遗,请参阅文档了解更多信息):
-
b(reak) <line_number>
- 在指定行设置断点 -
c(ontinue)
- 运行代码到下一个断点或执行结束 -
n(ext)
- 执行当前函数的下一行 -
s(tep)
- 执行任何函数中的下一行(即跟随当前函数调用)
您还可以通过键入变量名称来随时检查变量,并且可以执行 Python 代码,就好像您正处于程序执行时所达到的位置一样。
上面的Python文档非常好,参见https://docs.python.org/3/library/pdb.html
关于python - 使用现有控制台变量在 PyCharm 中进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59059710/