【问题标题】:Debugging inside PyCharm IPython在 PyCharm IPython 中调试
【发布时间】:2014-05-01 23:22:52
【问题描述】:

在 PyCharm 的 IPython 控制台中运行代码时是否可能遇到图形断点?

即:

  • 你在 foo.py 中有一个脚本 foo()
  • 您在编辑器中的 foo() 中放置了一个图形断点(行号旁边的红点)
  • 您将 foo 导入到 PyCharm 的 IPython 控制台 并执行 foo()(注意:不是从调试配置运行!)

【问题讨论】:

    标签: python debugging ipython pycharm


    【解决方案1】:

    是的,是的。但这不是自动的。

    (使用 4.5.2,Windows 8)

    我运行一个 IPython Notebook,让 PyC​​harm 启动 notebook 后端。

    我点击工具,附加到进程并尝试识别笔记本进程的 PID。我还没有找到一种顺利的方式来做到这一点。目前我使用Process Explorer,找到pycharm入口,在notebook server启动后观察新的子进程。你想要叶子 python.exe 进程,例如:

    6268  pycharm.exe
    1235    python.exe       (new when notebook launched)
    7435      conhost.exe    (new)
    9237      python.exe     (new - pick this PID)
    

    我现在可以运行一个单元格并点击图形断点。

    享受。

    【讨论】:

    • 在 PyCharm Professional 2016.1 中,IPython 控制台旁边有一个调试图标。单击此按钮时,代码中的断点将受到尊重。
    【解决方案2】:

    在 ubuntu 上,我不得不将 /etc/sysctl.d/10-ptrace.conf 中的 kernel.yama.ptrace_scope = 1 行更改为 kernel.yama.ptrace_scope = 0 否则 pycharm 无法附加到 ipython 进程。

    【讨论】:

    • 这是 pycharm 所暗示的,我在 Mint 上试过,但无济于事 ;(
    【解决方案3】:

    正如@bvanlew 在 cmets 中所建议的那样,PyCharm(社区版和专业版)现在支持将调试器附加到交互式控制台上。点击下图调试按钮,PyCharm的调试器会在断点时启动。

    【讨论】:

      猜你喜欢
      • 2018-06-19
      • 2017-03-04
      • 1970-01-01
      • 2017-09-27
      • 2013-11-17
      • 2016-06-07
      • 1970-01-01
      • 2011-09-14
      相关资源
      最近更新 更多