毕设在使用python做仿真,但是对python程序调试不太熟悉,由于写的程序需要运行的时间较长。想请教下有没有可以将运行时出现bug之前的运行数据保存起来,然后下次运行直接从bug前的语句开始运行的调试方法???
同意 把程序完全拆分成各个模块,然后模拟数据测试模块,最终组成一个大模块,进行集成测试,也就是说直接可以定位到模块进行bug排除,而不是每次都要运行整个模块,这个问题就解决了。
这是个思路,每个模块也可以获取原始数据,然后转换成json数据保存到文件,如果数据正确并没有出现bug,就认为该模块是正常的,然后依次下个模块上一个模块中正常数据进行读取,处理,再写入新的文件,然后检查文件输出和是否出现bug,这不解决问题了么
简单,把程序完全拆分成各个模块,然后模拟数据测试模块,最终组成一个大模块,进行集成测试,也就是说直接可以定位到模块进行bug排除,而不是每次都要运行整个模块,这个问题就解决了。
这是个思路,每个模块也可以获取原始数据,然后转换成json数据保存到文件,如果数据正确并没有出现bug,就认为该模块是正常的,然后依次下个模块上一个模块中正常数据进行读取,处理,再写入新的文件,然后检查文件输出和是否出现bug,这不解决问题了么?
python语言本身没有,但是你可以在你的程序中添加日志或者输出中间数据的逻辑。
下次运行根据这些数据来接着运行。
如果你想重现bug,还有一个办法,就是使用虚拟机,比如hyper-v,它支持快照,你可以在程序运行的任意时刻加上快照。然后你可以无限多次从快照处接着运行。
有个赛车游戏,有很多关,我单独玩肯定是到不了最后的,但是利用快照,哈哈,你懂的。
使用IDE来调试很方便 ~ 好比我用PyCharm ~ 在环境中配置一下 ~ 然后使用debug运行 ~
你需要的步骤
1、找到一个IDE (注意是IDE,不是编辑器,如果你用编辑器,那就需要配置成适合开发某种语言的模式)
2、你需要会配置一下运行环境
3、用Debug来运行