Level Up Your Debugging
Free!
With Membership
$20.00
Suggested price

Level Up Your Debugging

Moving beyond console.log and print

About the Book

One of the most frustrating things about bugs is you get a bug report, someone is breathing down your neck to get it fixed, customers are upset, and everyone thinks it should be easy to find and fix. And you have no clue where the issue is.

We’re lucky if we have enough details to even know where to begin looking. Often we are stuck having to dig into the code while trying random things to figure out where the actual issue is. It’s never as easy as just jumping to a code line everything points to and changing something.

This is even more stressful when we aren't familiar with our debugging tools or don't know any processes to effectively debug. I remember when I first started out trying to fix issues by going all over the place, trying every random thing, and becoming completely lost. It was stressful and I often felt like I had no clue what I was doing. Level Up Your Debugging contains all the tips, tricks, and processes I picked up over my 10+ years as a developer that I wish I would have known when I first started.

Why Should You Get This Book?

This is currently an early access book that will still be a work in progress in February when it releases. It will be complete with all content but will need feedback and edits to make it a 100% complete and polished book. Since it is early access, I am offering it as a pay what you want at least up until it releases in February.

You should read this book if you are actively involved in writing and debugging software. This is especially true if you find debugging frustrating and stressful. If you want to learn different processes, tools, and tricks to make debugging less stressful and more efficient, this book will help.

After reading this book, you should be able to:

  • Know the features debuggers offer and how it is beneficial to take the time to learn and set them up
  • Move away from relying on console.log and print statements for debugging
  • Have a process for debugging issues
  • Know how to debug locally and in production
  • Know how to ask for and receive help while debugging
  • Know about monitoring tools that help catch issues in production
  • Be more relaxed and efficient while debugging

Who Is This Book For?

Any developer that gets frustrated when debugging and wants to improve their debugging process. This will help beginner to senior developers that don't know their debugger inside and out and aren't already experts at debugging.

What type of software you write or the language you use does not matter. If you still use console.log, debug.log, or print statements as your only means of debugging, this book will help you. Or, if you fix bugs with ad hoc processes or by poking around the code, you will still find helpful advice inside.

Who Is This Book Not For?

This book will not help you if you are a Sherlock Holmes of debugging. Any developers who are already expert debuggers who can quickly and easily solve any bug probably won't find much value in this book. If you know your debugger inside and out or already have processes that work, this book will probably be below your skill level.

Table of Contents

  1. Introduction
  2. Thank You And Asking For Feedback
  3. What Is This Book About?
  4. Who Am I?
  5. Why Am I Writing This Book?
  6. Why Should You Read This Book?
  7. Introducing Debugging
  8. What Is Debugging?
  9. How Do Most Developers Start Debugging?
  10. Local VS Production Debugging
  11. How To Find The Problem?
  12. Gather Details
  13. Reproduce The Problem
  14. Ask Someone Else
  15. Debugging Tools
  16. Instrumentation
  17. Stack Traces
  18. Debugger
  19. Processes
  20. Backtracking
  21. Start At The Entry Point
  22. Problem Simplification
  23. Divide And Conquer AKA Binary Search
  24. Form A Hypothesis
  25. Bug Clustering
  26. Rubber Duck Debugging
  27. Learn Your Debugger
  28. Why Using A Debugger Is Important
  29. Getting Started With A Debugger
  30. Advanced Debugging
  31. Tips For Specific Types Of Errors
  32. Syntax And Type Errors
  33. Runtime Errors
  34. Logic Errors
  35. Data Errors
  36. Errors Across Multiple Systems
  37. Race Conditions And Performance Issues
  38. Make Production Debugging Easier
  39. Replicating Production In Lower Environments
  40. Remote Debugging
  41. Monitoring Tools
  42. More Debugging Tips
  43. Take A Break
  44. Google The Problem
  45. Ask For Help
  46. Make sure you know what code should do
  47. Don’t Make Assumptions
  48. Avoid Fixing Symptoms
  49. Don’t Ignore The Basics
  50. Focus On One Bug At A Time
  51. Only Change Enough To Fix the Bug
  52. Test Your Fix
  53. Add Automated Tests
  54. Document Everything
  55. Don’t Swallow Exceptions
  56. Refactor Code When It Is Hard To Debug Or To Maintain
  57. Conclusion

Who Am I?

Hi, my name is Kevin Hicks and I am a software developer that has been writing code for over 10 years. I primarily work as a senior software engineer leading teams on big enterprise projects at a day job and freelance for clients on the side. I've worked on many things from an iOS game to web applications but my primary focus is on writing custom web applications and SaaS apps. I'm now looking to give back to the dev community and transition into teaching and helping other devs.

You can find me at the following places:

  • Share this book

  • Categories

    • Software Engineering
    • Computers and Programming
    • Software
    • Testing
    • Web Development
  • Feedback

    Email the Author(s)

About the Author

Kevin Hicks
Kevin Hicks

Kevin Hicks is a senior software engineer with over ten years of experience developing websites and web applications. Now focusing on mobile and web application development, he works as both a regular full-time employee and a consultant developing sites and applications for a large e-commerce company and clients. Kevin has worked on anything from small mobile games to large e-commerce sites to SaaS (Software as a Service) applications for startups and enterprise clients. Now he is looking to help other people by spreading the knowledge and experience he has gained over the previous years so they can avoid the many mistakes he has made.

Table of Contents

  • Introduction
    • What Is This Book About?
    • Who Am I?
    • Why Am I Writing This Book?
    • Why Should You Read This Book?
  • Introducing Debugging
    • What Is Debugging?
    • How Do Most Developers Start Debugging?
    • Local VS Production Debugging
  • How To Find The Problem?
    • Gather Details
    • Reproduce The Problem
    • Ask Someone Else
  • Debugging Tools
    • Instrumentation
    • Stack Traces
    • Debugger
  • Processes
    • Backtracking
    • Start At The Entry Point
    • Problem Simplification
    • Divide And Conquer AKA Binary Search
    • Form A Hypothesis
    • Bug Clustering
    • Rubber Duck Debugging
  • Learn Your Debugger
    • Why Using A Debugger Is Important
    • Getting Started With A Debugger
    • Advanced Debugging
  • Tips For Specific Types Of Errors
    • Syntax And Type Errors
    • Runtime Errors
    • Logic Errors
    • Data Errors
    • Errors Across Multiple Systems
    • Race Conditions And Performance Issues
  • Make Production Debugging Easier
    • Replicating Production In Lower Environments
    • Remote Debugging
    • Monitoring Tools
  • More Debugging Tips
    • Take A Break
    • Google The Problem
    • Ask For Help
    • Make sure you know what code should do
    • Don’t Make Assumptions
    • Avoid Fixing Symptoms
    • Don’t Ignore The Basics
    • Focus On One Bug At A Time
    • Only Change Enough To Fix the Bug
    • Test Your Fix
    • Add Automated Tests
    • Document Everything
    • Don’t Swallow Exceptions
    • Refactor Code That Is Hard To Maintain Or To Debug
  • Conclusion

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub