Debugging C++: Troubleshooting for Programmers