Live data from Hacker News

Debugging: Indispensable rules for finding even the most elusive problems (2004)

dwheeler.com

21–30 of 238 posts

Re: Debugging: Indispensable rules for finding even the most elusive problems (2004)

#21

Step 10, add the bug as a test to the CI to prevent regressions? Make sure the CI fails before the fix and works after the fix.

What do you do with the years old bug fixes? How fast can one run the CI after a long while of accumulating tests? Do they still make sense to be kept in the long run?

Re: Debugging: Indispensable rules for finding even the most elusive problems (2004)

#23
The article is a 2024 "review" (really more of a very brief summary) of a 2002 book about debugging.

The list is fun for us to look at because it is so familiar. The enticement to read the book is the stories it contains. Plus the hope that it will make our juniors more capable of handling complex situations that require meticulous care...

The discussion on the article looks nice but the submitted title breaks the HN rule about numbering (IMO). It's a catchy take on the post anyway. I doubt I would have looked at a more mundane title.

Re: Debugging: Indispensable rules for finding even the most elusive problems (2004)

#24

Step 10, add the bug as a test to the CI to prevent regressions? Make sure the CI fails before the fix and works after the fix.

The largest purely JavaScript repo I ever worked on (150k LoC) had this rule and it was a life saver, particularly because the project had commits dating back more than five years and since it was a component/library, it had quite few strange hacks for IE.

Re: Debugging: Indispensable rules for finding even the most elusive problems (2004)

#25
post #23

The article is a 2024 "review" (really more of a very brief summary) of a 2002 book about debugging. The list is fun for us to look at because it is so familiar. The enticement to read the book is the stories it contains. Plus the hope that it will make our juniors more capable of handling complex situations that require meticulous care... The discussion on the article looks nice but the submitted title breaks the HN…

> The article is a 2024 "review"

2004.

Re: Debugging: Indispensable rules for finding even the most elusive problems (2004)

#27
post #21

Step 10, add the bug as a test to the CI to prevent regressions? Make sure the CI fails before the fix and works after the fix.

What do you do with the years old bug fixes? How fast can one run the CI after a long while of accumulating tests? Do they still make sense to be kept in the long run?

Why would you want to stop knowing that your old bug fixes still worked in the context of your system?

Saying "oh its been good for awhile now" has nothing to do with breaking it in the future.

Re: Debugging: Indispensable rules for finding even the most elusive problems (2004)

#28

Rule #10 - it’s probably DNS

Years ago, my boss thought he was being clever and set our server’s DNS to the root nameservers. We kept getting sporadic timeouts on requests. That took a while to track down… I think I got a pizza out of the deal.

Re: Debugging: Indispensable rules for finding even the most elusive problems (2004)

#29
post #21

Step 10, add the bug as a test to the CI to prevent regressions? Make sure the CI fails before the fix and works after the fix.

What do you do with the years old bug fixes? How fast can one run the CI after a long while of accumulating tests? Do they still make sense to be kept in the long run?

This is a great problem to have, if (IME) rare. Step 1 Understand the System helps you figure out when tests can be eliminated as no longer relevant and/or which tests can be merged.

Re: Debugging: Indispensable rules for finding even the most elusive problems (2004)

#30
post #17

Personally, I’d start with divide and conquer. If you’re working on a relevant code base chances are that you can’t learn all the API spec and documentation because it’s just too much.

Check the plug should be first
Post reply on HN