Awesome
Effective Debugging: Source Code
This repository contains the source code used in the book
Effective Debugging (Addison-Wesley, 2016).
Chapter 1: High-Level Strategies
Item 7: Diversify Your Build and Execution Environment
Chapter 2: General-Purpose Methods and Practices
Item 12: Automate Complex Testing Scenarios
Chapter 4: Debugger Techniques
Item 31: Familiarize Yourself with Reverse Debugging
Item 33: Look for Errors by Examining the Values of Variables and Expressions
Item 37: Know How to View Assembly Code and Raw Memory
Chapter 5: Programming Techniques
Item 41: Add Logging Statements
Item 42: Use Unit Tests
Item 43: Use Assertions
Item 49: Fix the Bug's Cause, Rather Than Its Symptom
Chapter 6: Compile-Time Techniques
Item 50: Examine Generated Code
Item 51: Use Static Program Analysis
Item 52: Configure Deterministic Builds and Executions
Item 53: Configure the Use of Debugging Libraries and Checks
Chapter 7: Runtime Techniques
Item 57: Profile the Operation of Systems and Processes
Item 59: Use Dynamic Program Analysis Tools
Chapter 8: Debugging Multi-threaded Code
Item 60: Analyze Deadlocks with Postmortem Debugging
Item 61: Capture and Replicate
Item 62: Uncover Deadlocks and Race Conditions with Specialized Tools
Item 64: Investigate Scalability Issues by Looking at Contention
Item 65: Locate False Sharing by Using Performance Counters
Item 66: Consider Rewriting the Code Using Higher-Level Abstractions