Level Up Your Debugging
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
- Introduction
- Thank You And Asking For Feedback
- 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 When It Is Hard To Debug Or To Maintain
- 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:
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...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 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