解决一个引起死机BUG的过程。

萝らか妹 提交于 2020-10-26 04:11:15

《生态系统开发中,一些收获以及暂且没法解释的事情 [简单列表]》记录到:

[19]

commit a1cb82f2c6d9a91c5d5fd7bf1ba13010207578a1 (HEAD -> master)
Author: unsv29 <33002609@qq.com>
Date:   Tue Sep 15 17:13:03 2020 +0800

    many tiny change ,mainly about socket MICRO
这个版本在其中一个CPU60上有问题。在qmxx上也有问题(传log马上发现问题,传csv没发现问题)。编译顺序 调整后(ota调整到tcna之前)都没问题。在qmxx上换个SD卡就好了,不换SD卡退回到很久之前的版本也不行,就是下载boot.txt出问题,下载别的都不出问题。最后把sd卡低格了,就OK了。

这个问题后果其实并不严重,因为一般不用下载log.txt.

不过这说明一个问题:我的sd驱动不完善。《stm32 sdio调试,修改官方例程bug,已成功调通SDIO读取SD卡》这个文章可能有帮助。不过我的SD卡已经让我低格了,无法验证这个代码好不好用了。以后有机会再实验吧。

不过我仍然小看这个问题了,后来又换了一个SD卡又出现问题了。因此打算根治这个问题。

改变编译顺序,改变编译等级都不会触发这个问题。所以说这个问题很隐蔽。

先是用对比的方法,看看那里引起问题,后来发现只要初始化test_igmp_Init这个函数里面有udp_new这个函数,就出问题。并且打开lwip的调试代码,发现pbuf内存方面的问题。

这样也不容易找到问题,所以今天20200923打算用追溯方法,回退到某一老版本后一步步精简,看看能不能找到问题。

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!