Sublime Text3 python调试之pdb
程序员文章站
2022-05-28 11:55:47
...
最近写关于AStar算法遇到了点问题,需要调试python程序,直接使用print太过于麻烦,(比较懒o(╥﹏╥)o,主要是工作量太大)于是乎调查了一下python调试的工具,发现这个pdb还真是方便。
不多说,开始介绍:
首先在Sublime Text3上安装SublimeREPL插件。
安装成功后便可如下调试代码:
关于pdb的相关命令:
常用命令
命令 | 用途 |
---|---|
break 或 b | 设置断点 |
continue 或 c | 继续执行程序, 或是跳到下个断点 |
list 或 l | 查看当前行的代码段 |
step 或 s | 进入函数 |
return 或 r | 执行代码直到从当前函数返回 |
exit 或 q | 中止并退出 |
next 或 n | 执行下一行 |
p 或! | 打印变量的值,例如p a |
help 或 h | 帮助 |
当然对于我自己的调试,是需要进入其他模块的函数里,所以使用s就好。
执行后的样子如下:
> c:\users\desktop\test\astarttest.py(2)<module>()
-> import map2d
(Pdb) n
> c:\users\desktop\test\astarttest.py(3)<module>()
-> import AStar
(Pdb) n
> c:\users\desktop\test\astarttest.py(5)<module>()
-> if __name__ == '__main__':
(Pdb) n
> c:\users\desktop\test\astarttest.py(6)<module>()
-> mm = map2d.map2d();
(Pdb) n
> c:\users\desktop\test\astarttest.py(7)<module>()
-> mm.showMap();
(Pdb) n
####################
#*****#************#
#*****#*****#******#
#*#####*****#******#
#*****#*****#******#
#*****#####*#******#
####**#*****#******#
#*****#**#**#******#
#**#*****#**#******#
####################
> c:\users\desktop\test\astarttest.py(8)<module>()
-> aStar = AStar.AStar(mm, AStar.Node(AStar.Point(1,1)), AStar.Node(AStar.Point(19,3)))
(Pdb) n
> c:\users\desktop\test\astarttest.py(9)<module>()
-> aStar.start()
(Pdb) s
--Call--
> c:\users\desktop\test\astar.py(137)start()
-> def start(self):
(Pdb) n
> c:\users\desktop\test\astar.py(142)start()
-> self.openList.append(self.startNode)
(Pdb) n
> c:\users\desktop\test\astar.py(144)start()
-> while True:
(Pdb) n
> c:\users\desktop\test\astar.py(147)start()
-> self.currentNode = self.getMinFNode()
(Pdb) n
> c:\users\desktop\test\astar.py(148)start()
-> self.closeList.append(self.currentNode)
(Pdb)
好了,pdb调试就介绍道这里。下面开始代码调试之旅。