Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Three times in the last week, while coaching people through some thorny debugging problem, I've found that their bag of debugging tricks didn't seem to include the old standby of writing code to sanity check data structures before the program goes kaBOOM. What I observed was that they tended to run their programs until things went boom, and would then poke around the wreckage in the debugger looking for clues. If this meant restarting in a debugger, they would put a breakpoint as close to the explosion as they could. Not a bad first approach, but if it is the only one you try (and you never look upstream), a lot of problems will remain elusive.

When I asked them "what's the earliest time you think the underlying problem might be occurring, and what's the simplest check you could put into the code to detect it sooner?" they all gave some variant of an "oh, wow, what a good idea" response.

These were all people with 2-4 years of experience.

So I'm wondering: Are the available of good debugging tools actually making us less capable of debugging by appearing to remove the need to think deeply? Have we moved out of our Pioneering phase, where individuals have to be resourceful to survive, and into a Settler phase, where people can usually rely on someone else to provide the debugging service for them, and then let those skills atrophy?

What are you seeing? Are "kids these days" more, or less capable debuggers? What's in your bag of debugging tricks that seems to be missing in others'?

Clarification: I'm not talking about the debugging skills (or debugging avoidance skills) that people apply to their own code. This question goes to the skills that need to be applied when working in a multi-100Kloc system.

In reply to Are debugging skills atrophying? by dws

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others chanting in the Monastery: (3)
    As of 2018-02-18 04:08 GMT
    Find Nodes?
      Voting Booth?
      When it is dark outside I am happiest to see ...

      Results (250 votes). Check out past polls.