是否可以在IPython中通过调试运行命令?
以下是我在IPython的行动:是否可以在IPython中通过调试运行命令?,python,debugging,ipython,Python,Debugging,Ipython,以下是我在IPython的行动: > import my_module > import ipdb 现在,我的模块缺少任何可执行代码,它只声明类。所以我想说一句话: > g = my_module.Graph() > f = open('test.osm') > g.from_osm(f) 我想在Graph.fromosm中放置一个断点,而不编辑文件。我不想将后几行放在文件中,也不想做python-mipdb…。我只想运行命令和调试 这可能吗 添加:我明白了,可
> import my_module
> import ipdb
现在,我的模块缺少任何可执行代码,它只声明类。所以我想说一句话:
> g = my_module.Graph()
> f = open('test.osm')
> g.from_osm(f)
我想在Graph.fromosm中放置一个断点,而不编辑文件。我不想将后几行放在文件中,也不想做python-mipdb…
。我只想运行命令和调试
这可能吗
添加:我明白了,可以
%run -d script_name
或
但是不可能执行
ipdb.run('statement')
,在ipdb中没有.run
也许IPython中的'magic'命令%debug和/或%pdb可以帮助您。,%debug
magic,如果给定参数(单行或单元格),则在调试器下执行
- 它会在执行任何操作之前中断,从而使您有机会设置断点和/或开始单步执行代码
- 它接受一个
--breakpoint
参数,该参数设置了一个以上的断点(作为命令的一部分,它将保存在命令历史记录中,为重复调用保存键入)
不,这不是我想要的。他们都有一个例外。我只想一步一步地观察程序执行。从
IPython 5
开始,debug
在执行任何操作之前停止,允许您设置断点和/或开始单步执行代码。IPython 6在异常处停止在ipdb 0.8中有一个。run
。可能重复
> import pdb
> pdb.run('statement')