在Python调试器中断在成员函数处
这个问题看起来很简单,但我到现在为止搜索了很多都没找到答案:
我第一次使用Python的调试器(pdb),发现大部分命令和使用gdb时很相似,这让我很高兴。
不过,当我想在类JamParser的parse()方法里设置一个断点时,我用了这个语句:
(Pdb) b JamParser.parse
*** The specified object 'JamParser.parse' is not a function
or was not found along sys.path.
我尝试了好几种不同的写法,包括:
(Pdb) b jam2dot.py:JamParser.parse
我以为既然我是从命令行启动调试器的,它应该知道文件里的内容。这是个错误的想法吗?
文档上说可以用函数作为参数来设置断点,但没有提供任何语法方面的帮助。那么,我该怎么通过名字为一个成员函数设置断点呢?
1 个回答
27
在调试器中使用名字之前,你需要先导入这些名字。
(Pdb) from jam2dot import JamParser
(Pdb) b JamParser.parse