I'm not completely against debuggers, but in my experience they only are useful either to get the trace of the problem when it first occurs and then use static analysis until you have a theory the debugger can prove/disprove - but only prove/disprove that theory don't keep looking: you will feel productive but in fact be spinning circles
Times when I was more familiar with the program or there were fewer variables to track it was less helpful
Measure of progress for me is formulating and answering questions. Sometimes trying to answer a question leads to formulating sub questions.