首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不是bpython3调试?

为什么不是bpython3调试?
EN

Stack Overflow用户
提问于 2012-06-29 00:33:29
回答 1查看 304关注 0票数 3

显然,我已经学会了如何使用python进行调试。

我运行bpython3 -i myfile.py,但当异常发生时,我仍然无法访问程序变量,也找不到任何像gdbupdown这样的命令。

我已经尝试过import pdb并尝试使用它,但我没有设法获得太多。而且它绝对不会以任何方式集成到bpython中。

据我所知,它非常简单,就像gdb一样,但显然我记错了,现在我一无所知。关于python调试器的在线信息令人困惑,含糊其辞,我找不到任何与我以前使用的类似的东西,所以我来这里问:我是不是遗漏了什么明显的东西?

EN

回答 1

Stack Overflow用户

发布于 2012-07-04 02:23:36

bpython3只是一个交互式Python shell的接口。对于类似gdb的调试,可以使用pdb,它支持类似gdb的命令:

代码语言:javascript
复制
$ python3 -m pdb t.py 
> /tmp/t.py(2)<module>()
-> def a():
(Pdb) c
Traceback (most recent call last):
  File "/usr/lib/python3.2/pdb.py", line 1556, in main
    pdb._runscript(mainpyfile)
  File "/usr/lib/python3.2/pdb.py", line 1437, in _runscript
    self.run(statement)
  File "/usr/lib/python3.2/bdb.py", line 405, in run
    exec(cmd, globals, locals)
  File "<string>", line 1, in <module>
  File "/tmp/t.py", line 2, in <module>
    def a():
  File "/tmp/t.py", line 4, in a
    b()
  File "/tmp/t.py", line 7, in b
    1/0
ZeroDivisionError: division by zero
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
> /tmp/t.py(7)b()
-> 1/0
(Pdb) up
> /tmp/t.py(4)a()
-> b()
(Pdb) print x
1

如果你想使用bpython(3)作为你的调试器,你必须使用include some glue code

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11249075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档