There was a nice post on Hacknot this week called “Debugging 101” that covers approaches to debugging; However, what I found most memorable was the reminder that “debugging” still carries a connotation of “failure”.
I’ve certainly met guys who think that debugging is something “junior programmers” do, and I always feel sorry for them. If you’re afraid you might code a bug then you’re prematurely censoring your creativity. Now I’m not saying that you let your cat fill in your method definitions for the sake of art (even though my cat is quite handy with the keyboard), but rather that when you tinker and build things no one has built before, you need to keep an open mind and accept that your first attempt might not work — and that’s fine! You’ll learn something. You have to expand into new territory if you’re going to learn something new, and when you’re in that new territory the odds are pretty high that you’ll goof something up on your first go.
Back to the topic at hand, I was a little disappointed that the article only covered old-school approaches to debugging (ie., nothing new.) I talk to a lot of mobile application developers as part of the day-job, and “better debugging tools” is one of the most frequent request I hear. My follow-up is generally, “what exactly would help you debug better?” — and sadly, the answer tends to be “uh… I’m not sure. I generally just put ‘print’ statements into to code.”
So going beyond print statements and chatting up the wooden Indian, what would help you debug mobile applications?