Sublime Text3 python调试之pdb

最近写关于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)()
-> import map2d
(Pdb) n
> c:\users\desktop\test\astarttest.py(3)()
-> import AStar
(Pdb) n
> c:\users\desktop\test\astarttest.py(5)()
-> if __name__ == '__main__':
(Pdb) n
> c:\users\desktop\test\astarttest.py(6)()
-> mm = map2d.map2d();
(Pdb) n
> c:\users\desktop\test\astarttest.py(7)()
-> mm.showMap();
(Pdb) n
#################### 
#*****#************# 
#*****#*****#******# 
#*#####*****#******# 
#*****#*****#******# 
#*****#####*#******# 
####**#*****#******# 
#*****#**#**#******# 
#**#*****#**#******# 
#################### 
> c:\users\desktop\test\astarttest.py(8)()
-> 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)()
-> 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调试就介绍道这里。下面开始代码调试之旅。

你可能感兴趣的:(深度学习)