欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Sublime Text3 python调试之pdb

程序员文章站 2022-05-28 11:55:47
...

最近写关于AStar算法遇到了点问题,需要调试python程序,直接使用print太过于麻烦,(比较懒o(╥﹏╥)o,主要是工作量太大)于是乎调查了一下python调试的工具,发现这个pdb还真是方便。

不多说,开始介绍:

首先在Sublime Text3上安装SublimeREPL插件。

安装成功后便可如下调试代码:

Sublime Text3 python调试之pdb

关于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调试就介绍道这里。下面开始代码调试之旅。