V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
algas
V2EX  ›  C

求帮确定是我的 glib 坏了

  •  
  •   algas · 2015-04-11 22:14:29 +08:00 · 1241 次点击
    这是一个创建于 3512 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在处理数据的时候发现了一个奇怪的问题,在读取完数据后,文件中的内容有时候会被修改...
    但是我用的是只读打开的,而且我把数据文件写权限也干掉了,怎么都觉得不太可能。
    在centos 7的服务器下没有问题。我的桌面电脑是opensuse 13.2的系统,除了用packman安装过mplayer和官方的chrome,没有添加其他第三方的源,所以说这种情况可能是别的问题吗?

    短小的程序

    被修改的样子

    中间一行的第一个数本来应该和行号一样的,但是最后一位被修改了...
    基本就是某个字符被替换成其他的字符,有时候是字母,有时候就是ascii码之外的东西...

    第 1 条附言  ·  2016-03-11 23:56:53 +08:00
    突然发现这个故事还没有结尾...

    大概后来过了一周不到的样子,我抽了一个下午的时间检查了所有内存条,
    发现有两根内存有问题。

    更换之后电脑就一直健康的活到了现在~
    8 条回复    2015-04-16 23:08:18 +08:00
    jedihy
        1
    jedihy  
       2015-04-12 22:42:16 +08:00
    glib坏了的可能性小。感觉还是你程序的问题,内存被写坏了,程序执行异常。我觉得应该仔细检查拼接字符串的那几行。
    algas
        2
    algas  
    OP
       2015-04-12 23:54:51 +08:00
    @jedihy 字符串拼接是为了获得文件路径,这个是有屏幕输出的,没有看出异常。
    而且能修改一个只读文件,也太那啥了....
    denghongcai
        3
    denghongcai  
       2015-04-13 11:06:16 +08:00
    有点怪异,完全没有往fpo里写东西,这都能改?
    julyclyde
        4
    julyclyde  
       2015-04-13 15:00:48 +08:00
    glib坏了是不是应该去GNOME那边问啊?
    algas
        5
    algas  
    OP
       2015-04-14 10:16:43 +08:00
    @denghongcai chmod -w -R * 也能改,我用的又不是vim....
    algas
        6
    algas  
    OP
       2015-04-14 10:18:21 +08:00
    @julyclyde 我现在觉得应该是我的硬件出问题了,

    我重装了系统,没有解决问题。
    昨天晚上正要准备回帖的时候,死机了。
    denghongcai
        7
    denghongcai  
       2015-04-14 12:08:09 +08:00
    实在是诡异,估计你内存什么地方有问题
    跑代码的时候strace看看到底有没有对文件进行写操作
    algas
        8
    algas  
    OP
       2015-04-16 23:08:18 +08:00
    @denghongcai 不行了,我太懒了,我就打算先凑合用着。
    这个程序也不是每次都出问题,但是过一遍就要半个小时...

    ps 我是hello, world调试人员,还不会trace神码的.......捂脸....
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:20 · PVG 05:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.