ipython 中的调试器不工作

debugger in ipython is not working

我试图在 Windows 7 上的 python 2.7.9 安装中使用 ipython 3.1 中的调试器。

这是一个示例脚本:

def works_fine():
    a = 5
    b = 6
    assert(a + b == 11)

def throws_an_exception():
    a = 5
    b = 6
    assert(a + b == 10)

def calling_things():
    works_fine()
    throws_an_exception()

calling_things()

我使用 %debug 进入代码。

我上去了u

然后我在第 12 行添加一个断点 b 12

我按c

然后调试器不再继续运行,而是打印出 "ipdb> c" 而不是继续。我应该如何解决这个问题?

> <ipython-input-7-c95b844c9880>(9)throws_an_exception()
      8     b = 6
----> 9     assert(a + b == 10)
     10 

ipdb> u
> <ipython-input-7-c95b844c9880>(13)calling_things() 2    12     works_fine()
---> 13     throws_an_exception()
     14 

ipdb> b 12 Breakpoint 3 at <ipython-input-7-c95b844c9880>:12
ipdb> c

我明白了。我需要将代码放在一个文件中,然后 运行 -d xxxx.py。在此之后 continue 工作正常!

run -d ch03/ipython_bug.py