Introduction
Debug with Visual Studio Code
()
What you should know
()
Using the exercise files in GitHub Codespaces
()
Solving challenges in CoderPad
()
1. What You're Up Against
About debugging
()
Compile-time errors
()
Runtime errors
()
Logical errors
()
2. Debugging without a Debugger
Print statements
()
Printing variable values
()
Reporting code coverage
()
Switching debug and verbose modes
()
Solution: Debug with a knife in the woods
()
3. Common Debugger Tools
The VS Code debugger
()
Linting
()
Breakpoints
()
Variables view
()
Watch view
()
Call stack view
()
Tracing and step execution
()
Solution: Find and fix the bug
()
4. Debugging Compile-Time Errors
Syntax errors
()
Semantic errors
()
Linker errors
()
Solution: Get it to compile
()
5. Debugging Runtime Errors
Segmentation faults
()
Null pointer assignments
()
Memory leaks
()
Solution: Don't let it crash and burn
()
6. Low-Level Debugger Features
Registers view
()
Memory view
()
Disassembly view
()
7. Writing Robust Code
Defensive programming
()
Erroring out
()
Using assertions
()
Handling exceptions gracefully
()