python - 是否可以通过调试在 IPython 中运行命令?

标签 python debugging ipython

这是我在 IPython 中的操作:

> import my_module
> import ipdb

现在,我的模块缺少任何可执行代码,它只声明类。所以我想声明一下:

> g = my_module.Graph()
> f = open('test.osm')
> g.from_osm(f)

我想在 Graph.from_osm 中放置一个断点,而不编辑文件。我不想将后几行放入文件中并执行 python -m ipdb ...。我只想运行命令和调试。

这可能吗?

补充:我明白了,有可能

%run -d script_name

> import pdb
> pdb.run('statement')

但是ipdb.run('statement')是不可能的,ipdb里面没有.run!

最佳答案

Since IPython 3.2.2 , %debug 魔法,如果给定一个参数(一行或一个单元格),在调试器下执行它。

  • 它会在执行任何事情之前中断,让您有机会设置断点和/或开始单步执行代码。
  • 并且它接受一个 --breakpoint 参数来设置另一个断点(作为命令的一部分,它将保存在命令历史记录中,从而避免您为重复调用而键入)。<

关于python - 是否可以通过调试在 IPython 中运行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9689378/

相关文章:

python - 故意错误的代码(Python)

python - 如何在不修改源代码的情况下检查 Winpdb Python 调试器中的返回值?

xcode - 模拟时调试器下的堆栈/堆损坏?

python - pip + 虚拟环境 : corrupted state

javascript - 在 Selenium WebDriver 中使用 execute_async_script

python - numpy 魔法清理功能

python - 在 Ipython 中设置新主题时遇到问题?

python - Jupyter (IPython) 笔记本 : Convert an HTML notebook to ipynb

python - 根据第一个表记录合并两个表

python - python 中缺少 lxml 模块?