首页 > 后端开发 > php教程 > javascript - 说说你遇到的bug

javascript - 说说你遇到的bug

WBOY
发布: 2016-06-06 20:28:55
原创
1300 人浏览过

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

<code class="php">    const IOS_MIN_ID = 2200000000;
    $id = '2200087853';
    if(intval($id) >= IOS_MIN_ID)
            return true;//判断始终失败</code>
登录后复制
登录后复制

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

回复内容:

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

<code class="php">    const IOS_MIN_ID = 2200000000;
    $id = '2200087853';
    if(intval($id) >= IOS_MIN_ID)
            return true;//判断始终失败</code>
登录后复制
登录后复制

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

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

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

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板