前些天,遇到了一个问题:需要在系统中添加一个小功能,单独测试,然后植入系统。
代码使用了从网上下载的函数,模块单独运行,没有问题,但是放在系统中运行就会出问题。
不得已的情况下,只能一行行代码排查,发现一个地方使用了malloc但是没有使用free。
结果,发现
malloc(rdata_len1);
之后使用了
prdata[rdata_len] = 0;
之后没有free。
直接测试模块函数没有问题,只要加入free(p);就崩溃。
系统运行也是很快就崩溃。文章来源:https://www.toymoban.com/news/detail-822289.html
这是典型的内存溢出问题。
应该感谢那些提供方案的人,但是里面的错误还是要自己排查,不能拿来就用,特别是涉及到细节的时候。这个不像是使用执行模块,对错一目了然。
文章来源地址https://www.toymoban.com/news/detail-822289.html
到了这里,关于内存溢出会导致模块测试正常,植入系统失败的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!