21. PikaDebug 调试器

PikaDebug 调试器模块提供了断点调试等功能。

21.1. 安装

  1. 在 requestment.txt 中加入 PikaStdLib 的依赖,PikaStdLib 的版本号应当与内核的版本号相同。
  1. PikaStdLib==v1.6.1
  1. 运行 pikaPackage.exe

21.2. class Debuger():

Debuger 类提供了调试器功能,由 Debuger 类创建对象,即可创建一个调试器。

21.2.1. Debuger 类的方法

  1. class Debuger(TinyObj):
  2. def __init__(self):
  3. pass
  4. def set_trace(self):
  5. pass

__init__()方法是创建对象时执行的方法,用户不需要了解。set_trace()方法可以在代码中放置一个断点,代码执行至断点处时会停止,并开启(pika-debug)终端,用户可以在终端中输入命令(c : 继续运行、q : 结束调试),或者 python 交互式调用 ( printf(i)i = 10)。 ​

用例:

  1. import PikaDebug
  2. pkdb = PikaDebug.Debuger()
  3. i = 0
  4. while i < 10:
  5. i = i + 1
  6. print('i :' + str(i))
  7. # set a breakpoint here
  8. pkdb.set_trace()

命令示例: n:(next)继续运行至下一个断点。 q:(quit)退出调试模式,并继续运行。 p:(print) 打印变量,p i表示打印变量 i。 交互式运行:直接执行交互式命令,如print(i)i = 2等。

  1. # 调试记录示例
  2. i :1
  3. (pika-debug) n
  4. i :2
  5. (pika-debug) n
  6. i :3
  7. (pika-debug) n
  8. i :4
  9. (pika-debug) p i
  10. 4
  11. (pika-debug) print(i)
  12. 4
  13. (pika-debug) i = 2
  14. (pika-debug) n
  15. i :3
  16. (pika-debug) n
  17. i :4
  18. (pika-debug) i = 9
  19. (pika-debug) n
  20. i :10
  21. (pika-debug) i = 2
  22. (pika-debug) n
  23. i :3
  24. (pika-debug) q
  25. i :4
  26. i :5
  27. i :6
  28. i :7
  29. i :8
  30. i :9
  31. i :10