Freigeben über


Picking what to work on, and banging my head against a bug.

Lately I’ve just been working on bugs.

When you have quite a few bugs at the same priority level how do you pick which one to start on? I tend to go for recent bugs, then bugs that may need to go to someone else, then bugs I think will be easiest to fix. I used to go to the hardest bug, but this has the horrible property of leaving bugs that someone else needs to look at bunched in your queue until you diagnose the hardest bug you have. I tend to find diagnosing the problem is the part that takes a bunch of time, rather than fixing it once you know what's really wrong.

I will still foolishly beat my head against a bug once in a while. Such as today. This afternoon I started tracking down a high priority bug in native retail code. Debugging retail code is harder because the debugger will get variable values wrong depending on compiler optimizations. You basically must look at the disasm to figure out what's going on. I eventually got far enough to determine that some specific objects are leaked and are the cause of the problem. Now in code compiled with the debug flag, we track these objects, but rather than step back and replace the 6 dlls I need with debug versions I wasted another hour trying to track AddRef/Release calls through the retail code.

Comments

  • Anonymous
    February 01, 2004
    The comment has been removed
  • Anonymous
    February 02, 2004
    That is a really good point. It is not one I think about often. If a tester tells me they are blocked on a bug I will up it's priority. Otherwise I don't think about it. Fortunately In practice most of our testers are good at making themselves heard when they are blocked.
  • Anonymous
    February 17, 2004
    I'm pretty unscientific about deciding what bug to work on next (I usually go on some combination of intuition and laziness) but when I've fixed a bug, I usually sit back and ask myself, "What sort of tool would have prevented that bug for me?". For memory leaks, the answer is usually a memory logging class. Mind you, I'm a Delphi programmer, so I'm used to being able to create and destroy class instances at will, instead of hoping the garbage collector will do it for me.
  • Anonymous
    May 25, 2004
    Very very Good Point !
  • Anonymous
    June 16, 2009
    PingBack from http://workfromhomecareer.info/story.php?id=31339