I have a set of C# classes, extending an abstract class. There is an abstract method void Show() on the parent. The extending classes are part of a graph with cycles. The implementations of Show invoke many times Console.Write(). Between the console writes there are recursive and other calls.
My problem - it is very hard to debug without an easy way to see the state of the graph. I've tried to make that method string Show(), but it is very hard to do properly with all the recursion and cycles. Can you suggest a better approach?
Thanks, Sam