Put It in Action

  • When patching an existing release, concentrate on reducing risk.

  • Keep on the lookout for compatibility implications when fixing bugs.

  • Ensure that you have completely closed any timing windows, not just decreased their size.

  • When faced with a heisenbug, minimize the side effects of collecting information.

  • Fixing performance bugs always starts with an accurate profile.

  • Even the most restricted communication channel can be enough to extract the information you need.

  • Suspect your own, ahead of third-party, code.

Footnotes

[24]

Apart, perhaps, from crackers exploiting flaws in your software to achieve their nefarious goals.

[25]

Shelves that were above my desk and that almost killed me one day when the shelf supports ...

Get Debug It! now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.