Obviously, the straightforward method is faster because there aren't any function calls or stackmanipulation, but the recursive way is more elegant and better reflects the problem.
The debugger - called Cylon - provides all the features one could expect: conditional breakpoints, breakpoints on exceptions, call stack, watches, the exploration and manipulation of variables.