加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 在大项目中寻找零

发布时间:2020-12-16 03:16:27 所属栏目:百科 来源:网络整理
导读:最近,我们的大项目开始以未处理的划分为零.没有最近的代码似乎包含任何可能的元素,因此它可能是影响旧代码的新数据集.问题是代码基础相当大,并且在没有舒适的调试访问的嵌入式设备上运行(通过串行控制台调试大量的printf()),设备没有gdb,即使有,用调试符号编
最近,我们的大项目开始以未处理的划分为零.没有最近的代码似乎包含任何可能的元素,因此它可能是影响旧代码的新数据集.问题是代码基础相当大,并且在没有舒适的调试访问的嵌入式设备上运行(通过串行控制台调试大量的printf()),设备没有gdb,即使有,用调试符号编译的二进制文件将不适用).

最可行的方法可能是找到所有的分割操作(它们相对不频繁),并分析每个分割操作的代码,以查看是否有任何除数变量未被保护.

那么问题是如何在一个大的(约200个文件,一个大的)C项目中找到所有的分区操作,或者如果你有一个更好的主意如何找到错误,请给他们.

额外的信息:项目运行在嵌入式ARM9,一个小型定制的Linux发行版,与Cygwin / Windows交叉编译器交互编译,IDE是Eclipse,但也有Cygwin与各种各样的好东西.事情是项目是非常硬件特定的,并且崩溃只有在全能运行时才会发生,所有必需的互连模块都处于活动状态.只有裸骨活动的限制“故障模式”不会创建它们.

解决方法

通过自定义 grep搜索,查找所有部门不应该很难.您可以轻松地将该用法与C中的/和%字符的其他用法区分开来.

另外,如果你知道你正在分割什么,你可以全局地重载/和%运算符以使__FILE__和__LINE__通知断言.如果使用makefile,则不必在所有链接的文件中包含自定义运算符代码,而不用触摸代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读