断点调试和日志调试之间的平衡点 --- 函数计算调试之python篇
python 调试篇
很多初学者喜欢使用断点调试,方便之处是可以查到运行期各种栈内的变量值,来帮助debug。
但这一点如果脱离了IDE,其实是非常困难的。在服务器的执行过程中,更需要使用attach的方式才可能做到这点。
对于一些生产环境的错误定位,用断点调试几乎是完全不可能的。
而使用日志来做错误定位,对于一些脚本语言,尤其弱类型的语言,当你将一个变量经过多个函数传递的过程中,如果传递过程中不小心有拼写错误,只有最后使用到这个变量的地方才报出错误来,使用日志的方式要定位什么地方写错了非常困难,对于生产环境中多分支调用链极长的逻辑,更是难上加难。
本文将介绍一种结合函数堆栈,捕获栈中local变量的方式来达到快速定位bug的目的。
相对于其他runtime,python可以获取到很多运行时信息。通常来说,通过异常捕获,python 默认的t