Home > Backend Development > PHP Tutorial > javascript - 说说你遇到的bug

javascript - 说说你遇到的bug

WBOY
Release: 2016-06-06 20:28:55
Original
1298 people have browsed it

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

<code class="php">    const IOS_MIN_ID = 2200000000;
    $id = '2200087853';
    if(intval($id) >= IOS_MIN_ID)
            return true;//判断始终失败</code>
Copy after login
Copy after login

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>
Copy after login
Copy after login

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

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

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template