标签归档:调试

13年的Bug调试经验总结

在《Learning From Your Bugs》一文中,我写了关于我是如何追踪我所遇到的一些最有趣的 bug。最近,我回顾了我所有的 194 个条目(从 13 岁开始),看看有什么经验教训是我可以学习的。下面是我总结的最重要的经验教训,包括编码,测试和调试三个方面。

关于JavaScript调试的十来个小技巧

有时候在生产环境下我们发现了一些莫名奇妙的问题,然后忘了把sourcemaps放到这台服务器上,或者在看别人家的网站的源代码的时候,结果就 看到了一坨不知道讲什么的代码,就像下图。Chrome为我们提供了一个很人性化的反压缩工具来增强代码的可读性,大概这么用:

记一次灵异般的 Bug 调试经历

说到程序员的噩梦,除了《程序员的 13 种噩梦,你遇到过哪些?》这篇提到的「无法重现的 Bug」,还有「遇到一个不懂技术又是掌控狂的项目经理」或「频繁变更需求」。自称有 35 年编程经历的 Mick Stute 对最大的噩梦有不同的体验。来看看他在 Quora 上拿到 16k 多顶的经历:

当cpu飙升时,找出php中可能有问题的代码行

当你发现一个平时占用cpu比较少的进程突然间占用cpu接近100%时,你如何找到导致cpu飙升的原因?我的思路是,首先找到进程正在执行的代码行,从而确定可能有问题的代码段。然后,再仔细分析有问题的代码段,从而找出原因。

你不曾听过的最强debugging故事

那还是80年代初期,我爸爸在一家存储设备公司工作,这个公司现在已经不存在了,它生产磁带机和驱动这些磁带高速运转的气动系统 —— 这是那个时代的产物。

东半球最先进的debug技巧

不论是什么行业里,能让人最兴奋的事情通常都是解决新奇的、高难度问题带来的刺激。在我的工作中,经常会遇到很多bug,乍一看,它们都是不可能的。不是不可能解决,而是完全不可能出现。就好象最前沿的科技揭示了一个新的奇怪的逻辑现象,以至于人的大脑完全无法理解。