Another form of visualization that is useful is mapping. One of our most keen sense is vision and our brains are highly adapted to processing visual inputs. Creating a map of whatever process you are trying to troubleshoot is a great way to for you to visualize what is going on. Particularly if it is a team problem solving situation and not everyone has an idea of the whole process and may only know about details of certain portions of the process. Mapping works for physical processes like a refinery and soft ones like order processing. Both big and small.
One of the reason high level programming languages are so great is that they create a map as part of the program. The more structured your code is, the better you (and others) can understand it and debug it.
When creating a map, don't get bogged down in the details. Create a high level map first, then you can go about filling in the details.