Please enable JavaScript.
Coggle requires JavaScript to display documents.
Debugging :!:, Debugging
David J Agans - Coggle Diagram
Debugging :!:
- :railway_track: Keep
an audit trail
- Write down what you did, in what order, and what happened as a result
- Understand that any detail could be the important one
- Correlate events
- Understand that audit trails for design are also good for testing
- Write it down!
- :electric_plug: Check
the plug
- Question your assumptions
- Start at the beginning
- Test the tool
- :movie_camera: Get
a fresh view
- Ask for fresh insights
- Tap expertise
- Listen to the voice of experience
- Know that help is all around you
- Don't be proud
- Report symptoms, not theories
- Realize that you don't have to be sure
- :computer: Understand
the system
- Know the fundamentals
- Know the roadmap
- Understand the tools
- Read the manual
- Read everything in depth
- Look up the details
- :sunglasses: Quit thinking
and look
- See the failure
- See the details
- Build instrumentation in
- Add instrumentation on
- Don't be afraid to dive in
- Watch out for Heisenberg
- Guess only to focus the search
- :red_cross:: Make it fail
- Do it again
- Start at the beginning
- Stimulate the failure
- But don't simulate the failure
- Find the uncontrolled condition that makes it intermittent
- Record everything and find the signature of intermittent bugs
- Don't trust statistics too much
- Know that "that" can happen
- Never throw away a debugging tool
- :one: Change
one thing
at a time
- Isolate the key factor
- Grab the brass bar with both hands
- Change one test at a time
- Comare with a good one
- Determine what you changed since the last time it worked
- :checkered_flag: If you
didn't fix it,
it ain't fixed
- Check that it's really fixed
- Check that it's really your fix that fixed it
- Know that it never just goes away by itself
- Fix the cause
- Fix the process
- :crown: Divide
and conquer
- Narrow the search with successive approximation
- Get the range
- Determine which side of the bug you are on
- Use easy-to-spot test patterns
- Start with the bad
- Fix the bugs you know about
- Fix the noise first
-