[prev] 23 [next]

The Debugging Process

Debugging requires a detailed understanding of program state.

The state of a program comprises:

  • the location where it's current executing
  • names/values of all active variables on the stack
  • names/values of all data in the global/heap regions
Simple example, considering just local vars in a function:
  • "at this point in the program, x==3, y==7, and z==-2"
Note: for any realistic program, the state will be rather large ...