【发布时间】:2012-11-19 15:45:55
【问题描述】:
我注意到某些ipython 功能在调试器中不可用。例如,用于变量自省的 ? 和 ?? 操作数不起作用:
例如
ipython> run my_script.py
ipython> %debug
ipdb> foo?
*** SyntaxError: invalid syntax(<stdin>, line1)
有没有办法将完整的ipython 功能带入调试器?
【问题讨论】:
我注意到某些ipython 功能在调试器中不可用。例如,用于变量自省的 ? 和 ?? 操作数不起作用:
例如
ipython> run my_script.py
ipython> %debug
ipdb> foo?
*** SyntaxError: invalid syntax(<stdin>, line1)
有没有办法将完整的ipython 功能带入调试器?
【问题讨论】:
ipython 运行 Python 调试器 pdb 进行调试,因此您只能使用 pdb 提供的命令(键入 h 以获得列表)以及标准 Python 语法(您可以将 foo? 替换为 help(foo) )。
如果您想在代码中的任意位置启动 IPython shell,您可以尝试Embedding IPython。
【讨论】:
ipdb 命令(即continue、next 等)。我对么?有没有办法两全其美?