|Microsoft Identity Integration Server 2003 Developer Reference|
A extension that has been running properly might start failing. You should determine what is causing the failure and make the necessary changes to the extension to prevent the failure. This topic shows you how to determine if the failure is caused by the extension and how to run the extension in the Visual Studio .NET debugger so that you can determine where the failure occurs.
If Microsoft Identity Integration Server 2003 is not running properly, the first place you should look to find the source of the failure is in the Operations window in the Identity Manager. This view gives a summary of the management agent run profiles that have been successfully run.
To view the Operations window
The Visual Studio .NET debugger allows you to step through each line of the source code to see exactly what is happening in the extension. To perform source-level debugging on a extension, it is necessary to install a debug build of the extension assembly and have the proper source code available. If the Visual Studio .NET project files are available, you can debug the extension as shown in Attaching the Debugger to the Process. If the project files are not available, but the source files and a debug build of the extension assembly is available, you can still perform source-level debugging on the extension by performing the following steps.
The extension can now be debugged normally. For more information on debugging a extension, see the following topics:
When a module does not handle an exception, a dialog box will be displayed to the user asking them if they want to debug the module that did not handle the exception and providing a list of the installed debuggers to use for debugging. If you choose to debug the module, the module will be loaded into the chosen debugger. This is known as "just-in-time debugging." You can use this feature to debug a extension that has not handle an exception even though the extension was not being run in the debugger at the time of the exception.
Just-in-time debugging allows you to obtain run state information at the time the exception occurred which will aid in troubleshooting the problem. It may be possible to determine the exact cause of the exception after the fact, but valuable debugging information, such as how to duplicate the exception, can be obtained.