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



我正在使用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

最新更新