A couple of days ago GP Power Tools turned ten years old.
On the 30th August 2006, I decided to create a tool to help identify the cause of a non-reproducible error that was the issue reported in a long running, escalated support case.
This was the first build of the “MBS Support Debugging Tool“.
Everyone else had given up on the support case as without any steps to reproduce, we could not find the cause and so could not fix the problem. We knew that something was wrong as the results could be seen in the data; the value in one table did not match the data in the other tables.
I remembered seeing a KB article that discussed how to programmatically enable and disable logging. I also realised that a trigger could be used to watch for the data to change in the table in question and then we could check the other tables to see if the data was correct or not.
Combining these two ideas created the Automatic Debugger Mode which would capture logs until the event occurred (table saved) and check for the error condition (data did not match other tables) and would then either discard the logs (when no error) or save the logs and display a dialog (when the error occurred).
Twelve months after the support case was first logged, we installed this tool at the client. It only took four days for the dialog to appear and the logs captured identified the script (last one executed) that was making the incorrect change the data.
A quick search on that script revealed the code that was changing the table data for all situations when it should have been limited to one situation. A quick fix of the code with an if statement and a hotfix was deployed within a week. Case closed. Development effort justified.
It took two more years before I was allowed to release the code publically in September 2008, dropping the MBS from the name to become the Support Debugging Tool.
When I left Microsoft in October 2014, I was eventually able to negotiate an agreement with Microsoft to obtain the code (Thanks Pam Misialek). The tool was updated and rebranded as GP Power Tools and was re-released through my partner, Mekorma, in August 2015.
The product has grown in features and functionality since its humble beginnings, but it is still an awesome tool for debugging and identifying the cause of non-reproducible errors.
Happy 10th Birthday.
This article was originally posted on http://www.winthropdc.com/blog.