Some Ways To Get Better At Debugging
tl;dr: Julia read some papers on debugging and found the following categorization very helpful, elaborating on each of the following categories: (1) Learn the codebase. (2) Learn the system. (3) Learn your tools. (4) Learn strategies. (5) Get experience.
featured in #349
Modern Web Debugging In Chrome DevTools
Bramus Van Damme
tl;dr: "As an author, you want to see and debug the code that you wrote, not the deployed code. To make up for it, you can now have the tree show the authored code instead. This makes the tree more closely resemble source files you get to see in your IDE, and these files are now separated from the deployed code." The authors discuss how this works and other additions to Chrome's DevTools.
featured in #348
Weird Monitor Bugs People Sent Me In The Last 5 Years
tl;dr: "I get tons of email about Lunar, a macOS app for getting intelligent adaptive brightness on external monitors. A lot of these complain about bugs, but sometimes, after a good multi day chase, I conclude it’s actually a monitor bug. I try to help and provide a workaround whenever I can. But anyway, here’s a small collection of those bugs."
featured in #347
The Apple GPU And The Impossible Bug
tl;dr: Alyssa dives into the rabbit hole uncovered by reverse-engineering AGX to build open source graphics drivers. "The driver fails to render large amounts of geometry. Spinning a cube is fine, low polygon geometry is okay, but detailed models won’t render. Instead, the GPU renders only part of the model and then faults."
featured in #317
The Worst Bug Ever - Randomly Losing Your Best Players
tl;dr: "Imagine discovering a serious bug in production immediately after releasing your game. Imagine this bug hurts only your paying customers. Imagine it freezes the game immediately after players complete in-app purchases... This is the worst bug I have ever dealt with in 30 years of programming. This is a story of how we tracked it down and worked with Unity to fix it."
featured in #312
Make Debugging Suck Less. Keep A Logbook.
tl;dr: "Scientists keep logbooks for their findings. Why don’t computer scientists?" Conor shares an example of one and cites these benefits: (1) Enumerate where you are in the bug fixing journey. (2) Keeps you rooted when you have a stack of issues. (3) Makes your future steps clearer. (4) Documents the time and effort spent, helpful to show your team the energy you put in. (5) Documents your eventual success and how it happened.
featured in #284
The Weirdest Bug I've Ever Encountered
tl;dr: Benjamin concludes with what he's learned from debugging: (1) No matter how battle-tested and old the code and how reputable the distributor - the code contains bugs. (2) Old bugs can manifest themselves seemingly out of nowhere, caused by subtle changes in timing or memory layout. (3) Whenever the file system is involved, there is a significant danger that bugs are caused by race conditions. And more.
featured in #269
The Code Worked Differently When The Moon Was Full
tl;dr: Scott walks us through "an interesting and insidious bug," based on a time calculations. This type of bug "can often show themselves later when view through a longer lens and scope of time," and "can show up a lot later than expected."
featured in #256