title: Debugging of a recursive algorithm
body: <p>My question is if there are some smart ways of debugging complicated recursive algorithms. 
  Assume that we have a complicated one (not a simple case when recursion counter is decreased in each 'nested iteration'). </p>
  
  <p>I mean something like recursive traversing of a graph when loops are possible.</p>
  
  <p>I need to check if I am not getting endless loop somewhere. And doing this just using a debugger gives not certain answer (because I am not sure if an algorithm is in endless loop or just process as it should).</p>
  
  <p>It's hard to explain it without concrete example. But what I need is...</p>
  
  <p>'to check if the endless loops don't occur in let's say complicated recursive algorithm'.</p>