在Python调试器的pdb中,可以使用b classname.methodname
类定义解析后。
例如% pdb ~/pybin/test.py
> /home/unutbu/pybin/test.py(4)()
-> class Foo(object):
(Pdb) l
1 #!/usr/bin/env python
2 # coding: utf-8
3
4 -> class Foo(object):
5 def bar(self): pass
6
7 foo=Foo()
8 foo.bar()
[EOF]
在分析类之前设置断点失败:(Pdb) b Foo.bar
*** The specified object 'Foo.bar' is not a function
or was not found along sys.path.
但是在分析类之后:(Pdb) n
> /home/unutbu/pybin/test.py(7)()
-> foo=Foo()
(Pdb) l
2 # coding: utf-8
3
4 class Foo(object):
5 def bar(self): pass
6
7 -> foo=Foo()
8 foo.bar()
[EOF]
设置断点有效:(Pdb) b Foo.bar
Breakpoint 1 at /home/unutbu/pybin/test.py:5
(Pdb)
(Pdb) r
> /home/unutbu/pybin/test.py(5)bar()
-> def bar(self): pass