python - 使用现有控制台变量在 PyCharm 中进行调试

标签 python debugging pycharm

我正在 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/

相关文章:

php - session 持久化问题

python - PyCharm 测试给出 : "ImportError: No module named nosetests"

python - 在 Django 管理中上传多张图片

Python Pandas 选择指数大于 x 的指数

python - 如何在python中连续读取socket数据?

python - Python 中的递归基础

debugging - 有人设置了 Hudson CI 服务器和符号服务器(symsrv.dll)吗?

java - 我可以从远程服务器调试 Android 应用程序吗?

python - 代码可以在 pyCharm 中运行,但不能在 Visual Studio Code 中运行

python - 如何在 JetBrains PyCharm IDE 中的 BreakPoint 之间跳转