LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 937|回复: 1

数据段数据出错 ,求助。

[复制链接]
发表于 2008-7-12 09:39:09 | 显示全部楼层 |阅读模式
嵌入式平台(powerpc平台)一个linux应用程序,在pc上交叉编译好以后,在班子上跑得时候,发现经常有全局变量的值跟赋的初始值不一致(程序中未操作该变量),查看内存,发现数据段很多数据都不对,大概10%之内吧,在pc上用ultraedit查看程序,对比数据段的数据是对的,也就是说编译出来的数据段的数据是正确的,但在班子上跑起来后,数据段的数据就出问题了;
我该怎么debug呢?3x
发表于 2008-7-14 10:01:29 | 显示全部楼层
想起以前自己犯过的错误, 当时把全局变量直接  定义  在头文件中, 这样在不同的 .c 中包含此头文件后, 实际上的效果是定义了多个同名的非全局变量, 编译虽然没有问题, 但是运行时在 a.c 中对此变量的修改无法对 b.c 中同名的变量产生改变.

正确的作法当然是在 .h 中用 extern 声明变量, 并在某一个 .c 中给出具体的定义

楼主没有给出代码, 因此不能确切地找到问题, 不过不妨检查一下是否犯了类似的错误
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表