This is a reposting of an article I originally wrote on my Developing for Dynamics GP blog.
IMPORTANT NOTICE: The Support Debugging Tool is now GP Power Tools from Winthrop Development Consultants (http://winthropdc.com/GPPT)
You may have heard about the Support Debugging Tool for Microsoft Dynamics GP. A sneak preview of the tool was shown at the Microsoft Dynamics GP Technical Airlift 2008 in May and it was extremely well received. The demo was a little premature as the tool’s release to the partner community was still in the planning stage, but the opportunity to show what it can do to the partners at the conference could not be missed.
What is the Support Debugging Tool?
The Support Debugging Tool is a Dexterity built application which contains a collection of utilities and tools to make the task of supporting, developing and debugging Microsoft Dynamics GP easier and faster.
I originally developed the tool when Microsoft Dynamics Support in the Asia Pacific region was assisting a customer with a situation that produced invalid data in a table, but no cause could be replicated. Looking at the customer’s data it was verified that there was an incorrect value in the table. No one was able to identify when the previously correct value in the table was being changed to the incorrect value.
Using Dexterity triggers and the ability to programmatically control Dexterity and SQL logging, the Support Debugging Tool was built and used to monitor the table field in question and log the steps which led up to the field changing to the incorrect value. It was able to identify the situation and provide the exact scripts being executed up to the point the error occurred. This information allowed the code issue to be identified and fixed.
Since then the features of the tool have been expanded and will continue to expand as feedback and needs demand.
What can it do for me?
The tool currently contains the following Standard Mode features (that do not require system administrator or database owner (dbo) privileges):
Manual Logging Mode
Turn on SQL logging, Dexterity script logging, and Dexterity script profiling with a single mouse click without needing to edit the dex.ini file or exit the application. Start logging just before an error or performance problem and stop logging immediately afterwards.
Individual Logging Mode
Control SQL logging, Dexterity script logging, and Dexterity script profiling individually.
Provides an user interface to a number of Debugging Tool, application and debugging related dex.ini file settings.
Identifies display names, technical names, physical names and resource IDs for dictionary resources (forms, windows, reports, tables and fields) from any one known value. Great for entering obscure SQL column names (physical names) and getting the field’s technical name.
Monitors all application level security requests. This is a great tool for identifying the cause of privilege errors caused by hidden windows.
Allows Support Debugging Tool settings to be exported and imported using XML files. You can create settings on your system and send them to the customer to use.
The tool currently contains the following Advanced Mode features (that do require system administrator or database owner (dbo) privileges. Dexterity and SQL skills are also necessary):
Automatic Debugger Mode
This is the mode where you can create a Dexterity trigger to execute off almost any event. It can then run a sanScript script (which can include SQL queries) to check for some sort of error condition. While this mode is active, the system will be logging all Dexterity and SQL activity and so when the error condition occurs the complete logs of the events leading up to the condition have been captured.
This window allows the application dictionaries in the system to be control without manually editing the Dynamics.set launch file. You can disable triggers and use of alternate windows and these changes can be remembered for next login. Great for “removing” 3rd party add-ons when testing. You can also re-order products in the Dynamics.set launch file to resolve potential clashes between 3rd party add-ons.
XML Table Export
You can select any number of tables from any product in the system and export them as a single XML file. This can be used to backup demo or test data, or can be used to obtain specific data from the customer without sending a backup of the entire database.
XML Table Import
You can import back any table(s) previously exported using the XML Table Export tool.
This is a Dexterity sanScript editor which can be used to execute any script in the context of any dictionary. It includes a number of helper functions to make working across dictionaries easier. Sometimes fixing data is much easier in a procedural language environment rather than a SQL query.
This is a mini SQL Query Analyzer which can be used to execute almost any Transact-SQL script. It includes the ability to automatically translate Dexterity technical names for tables and fields into their physical name equivalents used by SQL. No need to install the SQL Administration tools just to run a quick query.
This option just allows the settings in the tool to be cleared if they are no longer needed.
NOTE: While in Standard Mode, the Automatic Debugger Mode can be active, it just cannot have any settings changed.
For more information, please see the GP Power Tools portal, which replaced the Support Debugging Tool Portal.
Please add your feedback as comments, will this tool be useful to you?
This article was originally posted on the Developing for Dynamics GP Blog and has been reposted on http://www.winthropdc.com/blog.