Update
Original
(Ignore this ↓, this is not well written jibbajabba - the talk is quite a bit more coherent, and has pretty pictures!)
Recently I have found myself really enjoying asking all kinds of new types of questions (questions I have not considered in the past), like...
- While trying to find a bug: "What might be three possible 'good' next steps? Which one should I pick and why?"
- After I fixed a "difficult" bug:
- "Had I known what I know now, would it have taken just as long?"
- "Which step was the hardest? Why?"
- "What can I do to make that hardest step easier for me (or for the next dev) next time around?"
- "If there is such a thing, what kind of tool or method of dynamic analysis could have saved me the most time or pain?"
- When working on a "difficult" piece of code, even before the first bug rears its ugly head:
- "How debuggable is this code? Should I make it more debuggable?"
- "What kind of tool could help analyze such code without having to change the code?"
...and so on.
I guess, I have only started asking these types of questions because I have been working on a new type of debugger (called "Dbux") over the past few years. At the same time, I'm thinking: what is going on in other people's heads?
- Do you talk about debugging at work (or with other teammates, if any)?
- What happens in your debugging sessions?
- What kind of opinions do you have about debugging or debuggers?
- Are there types of codebases or industries that are more in need of better debugging tools than others?
- If code is not well tested, does debugging not deserve being talked about? If so, at what point does the topic start to deserve our attention, if ever?
- Do you have questions about debugging you would like someone to answer?
But Why...?
I am posting this with two goals in mind:
- I am genuinely wondering about what is going in people's heads on this topic (and reply to the best of my ability).
- This post also serves to let people know about my talk on this very topic this Thursday (it's free). I want to extend an invitation to my fellow debuggerheads, as well as to those who are just a little curious. The talk covers what we can expect of debugging, debugging tools and its good friend, the rarely discussed field of "dynamic analysis", as well as the types of questions they can (or maybe will be able to) help us answer. Maybe I'll see a few of you there (or maybe not). Either way, thanks for reading all the way to down here!
Top comments (3)
For me a debugger is a most vital tool. How else would one be able to exactly see what's happening. I for example start with my unit tests, debug these very test runs and code along. Together with colleagues each party brings in some ideas of what to do next or what else to try, where to put break points etc. Personally, I cannot imagine working without one, as I need to see the action in 85% of the cases. For the others looking at it, knowing it, applying it can be enough.
I don't think, I've met many who are very passionate or even all too collaborative about "debugging". Few seem to even talk about it. Always glad to bump into those who feel more passionately about it!
Debugging makes you better at problem solving.