从调试器访问IPython功能

从调试器访问IPython功能,python,emacs,ipython,Python,Emacs,Ipython,我注意到调试器无法提供某些ipython功能。例如,变量内省的?和?操作数不起作用: e、 g ipython>运行my_script.py ipython>%debug ipdb>foo? ***语法错误:无效语法(,第1行) 有没有办法将完整的ipython功能带到调试器中?ipython运行Python调试器pdb进行调试,因此您只能使用pdb提供的命令(键入h获取列表)加上标准Python语法(您可以用help(foo)替换foo?)) 如果您想在代码中的任意位置启动IPython s

我注意到调试器无法提供某些
ipython
功能。例如,变量内省的
操作数不起作用:

e、 g

ipython>运行my_script.py
ipython>%debug
ipdb>foo?
***语法错误:无效语法(,第1行)

有没有办法将完整的
ipython
功能带到调试器中?

ipython
运行Python调试器
pdb
进行调试,因此您只能使用
pdb
提供的命令(键入
h
获取列表)加上标准Python语法(您可以用
help(foo)替换
foo?


如果您想在代码中的任意位置启动IPython shell,您可以尝试。

IPython
运行Python调试器
pdb
进行调试,因此您只能使用
pdb
提供的命令(键入
h
获取列表)和标准Python语法(您可以用
help(foo)替换
foo?


如果您想在代码中的任意位置启动IPython shell,可以尝试。

谢谢!但是我想如果我嵌入了ipythonshell,我将无法访问
ipdb
命令(即
continue
next
,等等)。我说得对吗?有没有一种方法可以两全其美呢?我想这在香草ipython中是不可能的,但我也发现了这个软件包:(我还没有测试过)谢谢!但是我想如果我嵌入了ipythonshell,我将无法访问
ipdb
命令(即
continue
next
,等等)。我说得对吗?有没有一种方法可以做到两全其美呢?我认为这在vanilla ipython中是不可能的,但我也发现了这个软件包:(我还没有测试过)
ipython> run my_script.py
ipython> %debug
ipdb> foo?
*** SyntaxError: invalid syntax(<stdin>, line1)