#!/usr/bin/env python # coding: utf-8 # # The Debugging Book # ## Sitemap # While the chapters of this book can be read one after the other, there are many possible paths through the book. In this graph, an arrow _A_ → _B_ means that chapter _A_ is a prerequisite for chapter _B_. You can pick arbitrary paths in this graph to get to the topics that interest you most: # # In[1]: # ignore from IPython.display import SVG # In[2]: # ignore SVG(filename='PICS/Sitemap.svg') # ## [Table of Contents](index.ipynb) # # # ### Part I: Whetting Your Appetite # # * Tours through the Book # * Introduction to Debugging # # ### Part II: Observing Executions # # * Tracing Executions # * How Debuggers Work # * Asserting Expectations # # ### Part III: Flows and Dependencies # # * Tracking Failure Origins # # ### Part IV: Reducing Failure Causes # # * Reducing Failure-Inducing Inputs # * Isolating Failure-Inducing Changes # # ### Part V: Abstracting Failures # # * Statistical Debugging # * Mining Function Specifications # * Generalizing Failure Circumstances # * Debugging Performance Issues # # ### Part VI: Automatic Repair # # * Repairing Code Automatically # # ### Part VII: Debugging in the Large # # * Tracking Bugs # * Where the Bugs are # # ### Appendices # # * Error Handling # * Timer # * Timeout # * Class Diagrams # * Inspecting Call Stacks #