First, let's step back and look at the process of debugging from a purely
conceptual point of view.
Debugging is a process which involves several different aspects:
1. Following the flow of a process.
2. Identifying the source of erroneous behavior
3. Examining the value of data that changes during the process.
Visual Studio and other development tools provide debugging tool which make
the process of debugging easier, especially, but not limited to, during the
development process. Some of these tools are also available after the
development process. Visual Studio includes tools for Remote Debugging. You
can review all of the Debugging capabilities of Visual Studio at the
following URL:
http://msdn2.microsoft.com/en-us/sc65sadd.aspx
In addition, there are other options available to you, from the "old
school," but using the new technologies. For example, you can use Exception
Logging with a Debug build of a project to log the details of an exception,
in order to provide clues as to what the cause of the exception was. The
System.Exception-derived classes often provide a wealth of information about
the cause of an exception, and can always provide a Stack Trace to assist
you in your diagnosis.
Also, you can use logging to log the values of data that changes during the
process as a diagnostic tool.
We have some Windows Services that incorporate logging, as well as
incorporating the ability to send emails to the developers whenever
something goes awry. This way we are informed of any problems immediately,
even though the Service is, of course, running in the background of another
machine on our network.
Perhaps these few points will help in some way. If you just keep your mind
on the basic concepts of debugging, you may think of a few of your own as
well.
--
HTH,
Kevin Spencer
Microsoft MVP
Professional Chicken Salad Alchemist
A lifetime is made up of
Lots of short moments.