我正在使用PyCharm处理大量数据,并尝试调试各种处理函数,这些函数作用于使用这些数据组装的对象。由于新的调试不会带来控制台存储的变量,因此我发现有必要在每次调试时慢慢重新加载数据。到目前为止,我已经使用pickle来保存对象,然后更快地重新加载它们,但这仍然不理想。
有没有办法在控制台中使用加载的数据,并在必要时开始调试会话,该会话从该控制台先前加载的数据变量开始?
提前感谢!
你需要使用 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