In similar situations I normally leave the working setup alone and test result separately. It is a bit slower at first, but troubleshooting is much easier. The part about "A practical understanding of C++ starts with knowing what the system does well, where it is unreliable, and how to vali…" is...