Bisection (software engineering) Updated +Created
One of the Holiest age old debugging techniques!
The cool thing about bisection is that it is a brainless process: unlike when using a debugger, you don't have to understand anything about the system, and it incredibly narrows down the problem cause for you. Not having to think is great!
Keep debug notes Updated +Created
When debugging complex software, make sure to keep notes of every interesting find you make in a note file, as you extract it from the integrated development environment or debugger.
Especially if your memory sucks like Ciro's.
This is incredibly helpful in fully understanding and then solving complex bugs.
Reverse engineering Updated +Created
This is what society gets for not using open knowledge: some of its best minds will be bound to waste endless hours reversing some useless technology.
With that said, even when you do have the source code, reading run logs and using debuggers are a sort of reverse engineering at heart.
One of the most jaw dropping reverse engineering projects Ciro has ever seen is the Super Mario 64 reverse engineering project.