title: Purposefully debugging without using a debugger?
body: <p>In <a href="http://cm.bell-labs.com/cm/cs/tpop/debugging.html" rel="nofollow noreferrer">chapter 5</a> of <a href="http://cm.bell-labs.com/cm/cs/tpop/" rel="nofollow noreferrer">"The Practice of Programming"</a> <a href="http://www.cs.princeton.edu/~bwk/" rel="nofollow noreferrer">Brian Kernighan</a> and <a href="http://herpolhode.com/rob/" rel="nofollow noreferrer">Rob</a> <a href="http://research.google.com/people/r/index.html" rel="nofollow noreferrer">Pike</a> write:</p>
  
  <blockquote>
    <p>As a personal choice, we tend not to use debuggers beyond getting a stack trace or the value of a variable or two.</p>
  </blockquote>
  
  <p>Although I have no empirical data on the topic, I suspect that it's likely that many  programmers "live" in a debugger when they have one available in their environment. But I also suspect that there are many highly productive programmers who, like Kernighan and Pike, avoid debuggers as a first-line-of-defense and rely on other techniques.</p>
  
  <p>So, I'd like to ask the stackoverflow community:</p>
  
  <p><strong>If you are the sort of programmer who sees the tools called "debuggers" as more of a last resort (other than getting an initial stack trace), what are your reasons for using other techniques first?</strong></p>
  
  <p><strong>One (1)</strong> reason per answer for easier voting please!</p>
  
  <p>I'll also suggest this rule for answering: <strong>"I don't know how to use the debugger" is not a valid answer</strong>. That's just ignorance. You should understand your alternatives before making a choice!</p>