在玩了一会儿之后,他发现游戏并不是随机崩溃的–它只会在执行战斗任务时崩溃。而这些任务只有在玩了相当长的时间后才会出现。
关于Node.js调试,你需要了解的一切
一个小小的bug不值得你怀疑人生,不过人生还是值得你去怀疑的。
在我所有的编程错误中,80%是语法错误。剩下的20%中,80%是微不足道的逻辑错误。在剩下的4%中,80%是指针错误。剩下的0.4%很难。
在这篇文章中,我打算跟大家总结一下关于JavaScript反调试技巧方面的内容。值得一提的是,其中有些方法已经被网络犯罪分子广泛应用到恶意软件之中了。
这是一个在准备龙芯杯时遇到的bug,首先简单介绍一下龙芯杯(今年是第一届),龙芯杯需要每支参赛队伍在龙芯的开发板实现一个32bit CPU,使用的指令集是mips,决赛的时候除了CPU的性能还需要每个队伍在自己的CPU上展示一些东西。
在《Learning From Your Bugs》一文中,我写了关于我是如何追踪我所遇到的一些最有趣的 bug。最近,我回顾了我所有的 194 个条目(从 13 岁开始),看看有什么经验教训是我可以学习的。下面是我总结的最重要的经验教训,包括编码,测试和调试三个方面。
有时候在生产环境下我们发现了一些莫名奇妙的问题,然后忘了把sourcemaps放到这台服务器上,或者在看别人家的网站的源代码的时候,结果就 看到了一坨不知道讲什么的代码,就像下图。Chrome为我们提供了一个很人性化的反压缩工具来增强代码的可读性,大概这么用:
说到程序员的噩梦,除了《程序员的 13 种噩梦,你遇到过哪些?》这篇提到的「无法重现的 Bug」,还有「遇到一个不懂技术又是掌控狂的项目经理」或「频繁变更需求」。自称有 35 年编程经历的 Mick Stute 对最大的噩梦有不同的体验。来看看他在 Quora 上拿到 16k 多顶的经历:
当你发现一个平时占用cpu比较少的进程突然间占用cpu接近100%时,你如何找到导致cpu飙升的原因?我的思路是,首先找到进程正在执行的代码行,从而确定可能有问题的代码段。然后,再仔细分析有问题的代码段,从而找出原因。
不论是什么行业里,能让人最兴奋的事情通常都是解决新奇的、高难度问题带来的刺激。在我的工作中,经常会遇到很多bug,乍一看,它们都是不可能的。不是不可能解决,而是完全不可能出现。就好象最前沿的科技揭示了一个新的奇怪的逻辑现象,以至于人的大脑完全无法理解。
【外评】电脑从哪里获取时间?
【外评】为什么 Stack Overflow 正在消失?
有时
【外评】哪些开源项目被广泛使用,但仅由少数人维护?
【外评】好的重构与不好的重构
【外评】代码审查反模式
【外评】Linux 桌面市场份额升至 4.45
【外评】作为全栈开发人员如何跟上 AI/ML 的发展?
数据类型简明指导
第三颗原子弹