PyCharm:如何在ipython交互控制台中进行事后调试?

PyCharm:如何在ipython交互控制台中进行事后调试?,ipython,pycharm,pdb,Ipython,Pycharm,Pdb,我刚刚开始使用漂亮的PyCharm社区版IDE,不能做一件简单的事情,这是我通常的Python工作流程的一部分 我已经启动了ipython控制台,可以导入模块并以交互方式运行命令。在PyCharm中,当我执行一个函数调用时,它的执行就像在一个单独的进程中运行一样。即使在执行完成之前,也可以使用控制台提示符。这很好,但阻止我进行事后调试 在PyCharm外部的shell中运行ipython,当发生异常时,我可以运行pdb的事后检查功能并调查问题: import pdb;pdb.pm() 我想在P

我刚刚开始使用漂亮的PyCharm社区版IDE,不能做一件简单的事情,这是我通常的Python工作流程的一部分

我已经启动了ipython控制台,可以导入模块并以交互方式运行命令。在PyCharm中,当我执行一个函数调用时,它的执行就像在一个单独的进程中运行一样。即使在执行完成之前,也可以使用控制台提示符。这很好,但阻止我进行事后调试

在PyCharm外部的shell中运行ipython,当发生异常时,我可以运行pdb的事后检查功能并调查问题:

import pdb;pdb.pm()

我想在PyCharm中执行同样的操作:当我以交互方式调查问题时发生异常时,启动事后调试。

既然您正在使用PyCharm,为什么不使用内置调试器呢?关于如何使用它设置自己的断点、单步遍历堆栈、配置调试器选项等,有很多内容

特别是对于您的用例,如果您想在异常时中断--您可以使用Ctrl+Shift+F8打开断点配置屏幕。
然后,您可以检查Python异常断点的任何异常是否中断。当某些事情发生时,这将使您能够访问异常和整个堆栈(在框架部分)、上下文、变量等。

由于缺乏答案,我认为不可能这样做。如果有人在这里发帖,我会接受


顺便说一句,如果您已经安装了,如果您运行
jupyter qtconsole
,它将为您提供一个出色的终端。即使在Windows中也能很好地工作。magic命令debug将自动启动调试器。

在IPython中可以使用

只需在IPython上使用
%pdb
,每当发生错误时,您将被放入
ipdb
会话中,并对错误进行事后分析

我真的不知道这在PyCharm中是否有效


(我不久前就找到了这个答案)

因为有时你必须以交互方式试验你的代码、想法和数据。在这些交互式会话中,我希望能够进行事后调试。这是一个不同的用例。我明白了——一定是误解了你的问题。希望你能设法找到一种方法来完成你所追求的。如果您正在使用WSGI进行某些工作,Werkzeug()是否适合您?PyCharm调试器中有一个交互式ipython控制台,您可以访问它,但它有点隐藏--您必须单击“打开调试命令行”。将其与pycharm调试器中的frames/variables视图相结合,您的功能与pdb.pm大致相同。我建议编辑这个答案以添加调试控制台信息,然后我认为应该将其标记为正确。嗯,再想想,这个答案仍然不够正确。在交互式会话中输入命令后,我找不到进入调试器的方法。这真是一个累赘。顺便说一句,有两个按钮你必须点击,使这项工作。首先,切换到debugger console选项卡,然后单击“ShowPython提示符”使控制台真正具有交互性。