在 PyCharm IPython 中调试
在PyCharm的IPython控制台运行代码时,能否设置图形化的断点?
也就是说:
- 你在foo.py文件里有一个叫foo()的脚本
- 你在编辑器里给foo()里面放了一个图形化的断点(就是行号旁边的红点)
- 你把foo导入到PyCharm的IPython控制台里,然后执行foo()(注意:不是通过调试配置来运行!)
3 个回答
1
在Ubuntu系统上,我需要把文件 /etc/sysctl.d/10-ptrace.conf
中的这一行 kernel.yama.ptrace_scope = 1
改成 kernel.yama.ptrace_scope = 0
,否则PyCharm就无法连接到ipython进程。
1
是的,可以做到。不过这不是自动的。
(使用的是4.5.2版本,Windows 8系统)
我在运行一个IPython Notebook,然后让PyCharm启动这个Notebook的后台。
我点击“工具”,选择“附加到进程”,然后试着找到Notebook进程的PID(进程ID)。不过我还没找到一个简单的方法来做到这一点。目前我使用的是Process Explorer,先找到PyCharm的条目,然后在Notebook服务器启动后观察新的子进程。你需要找到那个最底层的python.exe进程,比如:
6268 pycharm.exe
1235 python.exe (new when notebook launched)
7435 conhost.exe (new)
9237 python.exe (new - pick this PID)
现在我可以运行一个代码单元,并且可以使用图形化的断点了。
祝你玩得开心。