I have worked for Microsoft since Jan 1999, starting off supporting Visual Interdev (oh the joy of those DTC’sJ) moving over to ASP.NET, making a brief stint in something called Solutions Integration Engineering and finally landing as an Escalation Engineer for .net. Somewhere around the timeframe of when ASP.NET released and the problems were getting increasingly complex on the server-side, (since we were suddenly able to do virtually anything in web-pages), I started realizing that my current way of troubleshooting issues wouldn’t suffice. I delved into the world of debugging and my eyes were opened to a whole new world of troubleshooting. Since then, I have been evangelizing windbg (the mother of all debuggersJ) to anyone I meet, even some of my friends, not in the computer business have gotten their dose of “look what you can do in here, it’s amazing” while their thoughts were probably going “cuckoo, that girl really needs to get a life”J
So to the point, why do I love the debugger so much? I love things that are black and white, my main interests are logic puzzles and billiards, if you get things wrong you know exactly why and there are strict rules for how you should do things. Much like this the debugger tells things in black and white. If your process hangs you can spend weeks on end wondering if your process is hanging because a database query is taking too long or because your boss installed a flashy screensaver that takes 100% CPU. The debugger will tell the ruthless truth, whether you like it or notJ
In my work there are a few topics that come up again and again so I decided that a blog might just be the best place to log all the tidbits that I gather along the way.
One of the worst case scenarios when you debug is that you discover a problem that requires massive re-design of the application to resolve, and/or that the system is now in production and the servers go down and the server is mission critical. Telling someone at that point that the problem could have been avoided if a different design had been chosen in the early stages of the project doesn’t do much to de-stress people, so some of the main points that I would like to impress on developers are: spend time learning the platform you are working with, spend time testing your system, spend time testing proofs of concept. It WILL pay off in the end. And!!! If you still get an unlucky break and your e-business goes down right in time for the x-mas rush, spend some time in advance on learning the basics of production level debugging so you don’t have to panic in the case of a failure.
If you have some specific areas that you would like me to talk about, don’t hesitate to tell me…
Happy debugging! May the force be with you...
i will study debug from now on,and from your blog too
Youh there! Just impressed with your work with the leaking AJAX library, so I'd stay here for a while, if you concede.
It's really good that you are sharing your treasures with everyone. Great work. Keep it up
You are every nerds fantasy, can you provide a closer picture of you?
Yeah I think so, too. A closer picture..
Just discovered your blog, excited to read it :-)
I haven't used SoftIce since around 1995. It was too expensive and cost a fortune to upgrade anytime the operating system changed. Also lots of false positives when trying to find memory leaks. I could be wrong, but I think NuMega is just greedy - browsing around the net it doesn't look like anything has changed. So thanks for getting me excited about debuggers again. Just because I like to dis them whenever possible I also won't deal with Symantec and McAfee - indifference to small users among other things. You wouldn't believe (or maybe you would) some experiences I've had with Norton Anti-Virus between about 1983 and 1998 which is when I swore never to deal with Symantec again. McAfee is just doofus.
I want to apologize for my loutish, stupid remarks. Still inapproriate on this forum, they were meant as a consumer, not as a programmer. I'd work for any of those companies in a heartbeat, if I could make the cut, which I couldn't - probably. I'm including my URL so you'll be more convinced it's the real me, but please Don't Look At Me!!
Seriously, I do apologize.
Is it just me, or is Tess smokin'??
It's not just you - Tess is smokin!
Ever consider more pictures of yourself on your blog? Perhaps a Microsoft-sponsored "Gorgeous Geeks of Microsoft" Calendar?
I loved the first part of your answer to the question in the 3rd paragraph.
I think I found my call in life...
Just listened to the podcast you did with Scott H. Very fascinating stuff, I look forward to working through the labs.
I was a COBOL programmer and, like you, loved debugging. I'm gonna try to learn this windbg stuff someday.
You are a great thinker!
I am learning Windbg and want to lean more about its power, I have found this blog and it seems it is the right start. Your posts are really useful, Thanks ! for the great posts.