在 Python 中也可以像 gcc/gdb 那样调试程序,只要在运行 Python 程序时引入 pdb 模块(假设要调试的程序名为 d.py):
复制代码 代码如下:
$ vi d.py
#!/usr/bin/python
def main():
i, sum = 1, 0
for i in xrange(100):
sum = sum + i
print sum
if __name__ == ‘__main__’
1.代码
准备没有语法错误的Python程序:
#!/usr/bin/python
import numpy as np
class Network:
def __init__(self,sizes):
self.num_layers=len(sizes)
self.sizes=sizes
self.biases=[np.random.randn(y,1) for y in sizes[1:]]
self.weights=[np.random.randn(x,y) \
for
程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug。
第一种方法简单直接粗暴有效,就是用print把可能有问题的变量打印出来看看:
# err.py
def foo(s):
n = int(s)
print '>>> n = %d' % n
return 10 / n
d
以前在windows下一直用的idel带的功能调试python程序,在linux下没调试过。(很多时候只是print)就从网上查找一下~
方法:
复制代码 代码如下:
python -m pdb a.py
a.py是python文件。
(Pdb)模式下的常用命令:
q
退出debug
h 即help,打印所有可以命令
h w
打印命令 w 的含意
n
执行当前行直到到达下一行或直到它返回
s
执行当前行,一有可能就停止(比如当前行有一个函数调用)。它和n(next)的区别是当前行中有函数调用时s