I fully agree. The debugger (and especially the x command to unfold data structure) is of tremendous help for all such cases and has helped me out many times. But, for some reason, many people seem to be afraid to use it, although it is in fact a very simple tool to use. Many questions on many developping forums would never be asked if the OP had "dared" to use the debugger to figure out what is going on. But there is nothing "daring" there, and it is increedibly helpful.
Having said that, the Data::Dumper is also a very useful way of understanding complicated data structure. But for the purpose of debugging, I think the debugger is the right tool.