欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 说说你遇到的bug

程序员文章站 2022-05-17 15:23:24
...
在知乎上看到你碰到过的最难调的 Bug 是什么样的
大家说说自己开发中遇到的一些诡异的bug,然后怎么解决的?直接上代码比较明了
说一个我最近遇到的:
用的一个第三方库用intval转换字符串
    const IOS_MIN_ID = 2200000000;
    $id = '2200087853';
    if(intval($id) >= IOS_MIN_ID)
            return true;//判断始终失败

echo intval('2200087853');// 2147483647//应该返回数字2200087853的
本地系统是64位的,但php是32位的,服务器上却没问题,于是bug了

回复内容:

在知乎上看到你碰到过的最难调的 Bug 是什么样的
大家说说自己开发中遇到的一些诡异的bug,然后怎么解决的?直接上代码比较明了
说一个我最近遇到的:
用的一个第三方库用intval转换字符串

    const IOS_MIN_ID = 2200000000;
    $id = '2200087853';
    if(intval($id) >= IOS_MIN_ID)
            return true;//判断始终失败

echo intval('2200087853');// 2147483647//应该返回数字2200087853的
本地系统是64位的,但php是32位的,服务器上却没问题,于是bug了

这个 bug。意识到它的存在之后我调试过好几次,历时数月,依然不得其解,甚至打算等有空了编译调试版本的 libnotify。后来经朋友协助,研究 * 上的回答,加粗文字反汇编查看,才终于明白原来它自从我从32位系统迁移到64位就一直存在了。

PS: 最近在 GtiHub 上很火的:danluu/debugging-stories