今天上午想把项目总结一下,然后用新的bit流跑一跑,谁知道,不试则已,一试惊人。用新的比特流链接成的文件居然不能运行了,加载不断的出错,跟踪了一下,比特流文件的大小和优先级都没有写入正确,于是就去追寻链接器代码,试图找出问,反复测试之后发现链接没有错误。然后想到文件权限,是不是不允许写入,自己动手写了个测试程序读文件中写入的比特流大小和优先级,居然是正确的!faint!
找不到头绪……一上午就这么过去了……
中午躺在床上一直想其中的原因,迷迷糊糊就睡着了,远子因为下午华赛的面试起得比较早,他走的时候一关门我猛的醒了,突然想到链接文件中所用的elf头文件的大小,因为只要涉及到移植,就不可避免的要考虑到编译生成的可执行文件大小的问题!然后起来简单洗漱后跑到实验室,一看,唉,真伤心,果然是这个问题,以前生成的可执行文件大小是12015,现在是12063,这就导致了在通过这个偏移量读取文件数据时的错误!
记住这个问题,Bug的调试一方面靠技巧,更多的是靠经验!
阅读(976) | 评论(0) | 转发(0) |