Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

comment on

( [id://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

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (1)
As of 2024-04-18 23:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found