Raymond’s post on the history of Dr. Watson is right on the money. Some additional info, since I have some somewhat close personal connection.
When Dr. Watson first became available, I loved what it did. I was working at Borland at the time, and had just made the jump from Tech Support to development.
Unfortunately, the original Dr. Watson had a couple of serious issues:
1) It couldn’t deal with symbol names over 32 characters, which was a problem when using Borland’s C++ compiler and mangled names
2) It displayed the logical segment portion of addresses (e.g. 12:0042) in decimal rather than hex. This drove me nuts, as every other tool used hex numbering for segment values.
As luck would have it, I knew the original author of Dr. Watson (Don Corbitt) prior to his coming to Microsoft. He was an old TeamB member. I contacted Don and he conceded that my issues were valid, but that he couldn’t do much about them.
(In a sad post-script, Don died several years later in a private plane crash. RIP.)
Back to the story… Knowing the Dr. Watson was so cool, but not quite usable enough for me, I set out to write my own version, originally called “Dr. Frank”. Dr. Frank had a whole set of additional tools that did cool things above and beyond what Dr. Watson did at the time. These days the concepts I worked with are known as crash dumps, and we analyze them with debuggers. Back then it was all command line tools and text files. (Multiscope’s debugger was still very new on the scene.)
Inside Borland, the powers that be liked the idea of Dr. Frank, and asked to ship it as part of the Borland C++ 3.1. I got a paltry some of money (in retrospect), but at the time I was thrilled to have actual shipping code in a cool new product. The bigger indignity is that they insisted on renaming it to the much lamer sounding “WinSpector“.