这是一个可以追踪代码的工具,其强大之处是可以显示出每行代码所具体执行的过程。 简单使用如下:

#!/usr/bin/python2
import dis

def m():
a = 2
b = 3
sum = a + b
print “a + b = %s” % sum

dis.dis(m)

输出结果如下:

$ ./u.py
5 0 LOAD_CONST 1 (2)
3 STORE_FAST 0 (a)

6 6 LOAD_CONST 2 (3)
9 STORE_FAST 1 (b)

7 12 LOAD_FAST 0 (a)
15 LOAD_FAST 1 (b)
18 BINARY_ADD
19 STORE_FAST 2 (sum)

8 22 LOAD_CONST 3 (‘a + b = %s’)
25 LOAD_FAST 2 (sum)
28 BINARY_MODULO
29 PRINT_ITEM
30 PRINT_NEWLINE
31 LOAD_CONST 0 (None)
34 RETURN_VALUE