What Is Visual Studio Analyzer?

   

Visual Studio Analyzer is a tool that you can use for debugging and analyzing distributed applications. With Visual Studio Analyzer, you can understand:

  • What a distributed application is doing.

  • What the performance of a distributed application is.

  • Where problems are occurring in a distributed application.

Visual Studio Analyzer helps you understand these things by providing several different views of your application. Visual Studio Analyzer constructs these views from information gathered as your application runs. These views are integrated into the Microsoft development environment, but you can use Visual Studio Analyzer with applications and systems built with any of the Visual Studio tools.

Understanding Application Structure

Understanding what a distributed application is doing means understanding the application's structure and flow. Visual Studio Analyzer can show you all the components and communications in your application, plot them in a diagram, and annotate the diagram with detailed information. You or your development team can use Visual Studio Analyzer this way to help new team members understand the application you are building.

Analyzing Application Performance

As a performance analysis tool, Visual Studio Analyzer focuses on a much higher level than a traditional profiling tool. The high-level focus is a result of the fact that Visual Studio Analyzer can provide a complete view, at a central location, of all the components and communications in your application. Furthermore, you can combine this view with environment and timing information from the Microsoft® Windows NT® Performance Monitor. The combination of Visual Studio Analyzer information with the Windows NT Performance Monitor information makes it easier for you to identify the slow spots, which you can then target with a profiling tool.

Isolating Faults

As a debugging tool, Visual Studio Analyzer helps you locate which component is causing problems. Visual Studio Analyzer provides a complete view, at a central location, of all the components and communications in your application. With this complete view, displayed in Visual Studio Analyzer, you can watch your application execute in real time, or you can record a session of your application and play it back. At any point you can request detailed information on a specific component. Using Visual Studio Analyzer in this way makes it easier for you to identify a problem component, and for you to use your debugging resources in the most cost-effective way.

For More Information   Understanding application structure, analyzing performance, and isolating faults are the main tasks for which Visual Studio Analyzer was intended. For more information on when and how you might use Visual Studio Analyzer to accomplish these tasks, see:

When to Use Visual Studio Analyzer

You can use the Visual Studio Analyzer views at two different points in the application life cycle:

  • In real time, as the application executes.

  • After the application finishes, for post-mortem analysis, as long as you have collected data while the application executed.

Isolating faults typically involves both real time and post-mortem analysis. You run the application, browse through the Visual Studio Analyzer views to understand what happened, and set breakpoints on individual lines of code with a traditional debugging tool. When your application reaches a breakpoint, it suspends execution. You then switch to Visual Studio Analyzer and play back what has happened so far. When you locate a possible problem within a single component, you switch to your traditional debugging tool to identify the problem.

Performance analysis almost always happens after an application is finished. Several Visual Studio Analyzer views analyze how much time each piece of an application required to execute. Visual Studio Analyzer identifies time usage as it can, and shows where time was spent using a line chart, Gantt chart, and timeline view.

Although knowing where time was spent is useful, you might be interested in other information as well. For example, did a particular SQL query take a long time because it was complex and time-consuming, or because the machine that runs it was very busy handling many requests? To address these types of questions, you can collect information from Windows NT Performance Monitor counters while your application is executing. You could, for example, collect the current load on the database machine every few seconds. By looking at the Performance Monitor information at the time the application was executing, you can get additional information about performance bottlenecks.

Getting Started with Visual Studio Analyzer

Visual Studio Analyzer is part of the Visual Studio 6.0 Enterprise Edition. It is integrated into the Microsoft development environment.

To use Visual Studio Analyzer, you need to create a Visual Studio Analyzer project. You also need to create an event log and a filter, and you need to connect to the machines running the application you want to monitor. The easiest way to accomplish all of these tasks is to use the Visual Studio Analyzer Project Wizard, but you can also create each of these items manually if you prefer. Another quick way to experiment with Visual Studio Analyzer is to create a Visual Studio Analyzer project and then open the sample event log, sample1.val.

For More Information   This section mentioned Visual Studio Analyzer projects, event logs, and filters. These items are tools that Visual Studio Analyzer provides to help you in your analyses. For more information about these tools, see: