在玩了一会儿之后,他发现游戏并不是随机崩溃的–它只会在执行战斗任务时崩溃。而这些任务只有在玩了相当长的时间后才会出现。
关于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,乍一看,它们都是不可能的。不是不可能解决,而是完全不可能出现。就好象最前沿的科技揭示了一个新的奇怪的逻辑现象,以至于人的大脑完全无法理解。
应该还能用
【外评】谷歌:从源头消除内存安全漏洞
【外评】在 RiSC-V 上运行《巫师 3》游戏
【外评】法官驳回大部分 GitHub Copilot 版权索赔要求
谷歌内部推出 SQL 中的管道(Pipe)语法
你们干扰不了我写开源代码
【外评】FreeBSD 将 Rust 纳入基本系统
【外评】电脑从哪里获取时间?
【外评】为什么 Stack Overflow 正在消失?
有时