I have come to rely on having a sandbox environment quite heavily over the past couple years. My sandbox allows me to quickly compile a test program for any of the platforms I need to target. It exposes all the tools that I need in my environment, like dumpbin or objdump, to be able to quickly pull apart code. Most importantly, my sandbox is completely decoupled from the rest of my development environment, in that my sandbox is not connected to my main project, because playing in it should yield instant results.
My sandbox includes a test build environment too, one that lets me quickly pull in other libraries should I need to whip up a program that is dependent on more than just the standard library. This is especially helpful when it comes to having to get all the scaffolding in place to put together a test program that runs on the SPU, or any other scenario requiring complicated setup.
The sandbox is one of the most important tools I have for development. It allows me to rapidly run experiments to test any assumptions I have made. It allows me to answer questions that I have — something like “how exactly does -fstack-check work?” can be answered in a handful of lines of code that compile and disassemble instantaneously.
Do you have a sandbox? What does your sandbox have that helps you?