What are the 2 key issues in debugging?
Understanding why the program misbehaves and correcting the behaviour
What are bad ways to debug?
Blame computer
Random Changes
Random Search
Stack Overflow
Good debugging involves _______
investigation
What are the steps in understanding a bug?
Forego assumptions Reproduce the bug Ask why the code produced the wrong behavior Rank the hypotheses Try to disprove each hypothesis
What are some basic commands for exploring code in debuggers?
Running Breakpoints Stepping Continuing Backtraces
What are some basic commands for investigating code in debuggers?
Printing state
Calling functions
Changing state and continuing
Watchpoints
Why is Record and Replay debugging so powerful?
Allows a deterministic replay of the same execution
Trace can be shared across computers