Posted September 14, 2006
AQtime 5: Profiling 64-bit Code
Microsoft Corporation places high emphasis on developing and promoting development environments in order to improve the quality of software products. The release of the Visual Studio Team System is a new stage of integrated development environments evolution. One of the benefits offered by the new version of the Visual Studio Team System is the Code Profiler, but the current version of the Microsoft VSTS Profiler does not support profiling 64-bit applications. This feature will be added to future versions of the Visual Studio Team System (see the answer to the "Can I profile 64-bit applications?" question at http://msdn.microsoft.com/vstudio/teamsystem/support/faqs/developer_faq/).
So it turns out that, using Visual Studio 2005, you can develop applications for the Windows x64 platform today but tune their performance only when the next version of Visual Studio is available. As high-quality development of 64-bit applications is not just a future need, AutomatedQA Corp. is ready to help you today.
AutomatedQA's AQtime 5 is a new multifunctional profiler intended for profiling both 32- and 64-bit Windows and .NET applications on both 32- and 64-bit Windows operating systems. All AQtime profilers - Performance, Coverage, Allocation, Resource and others - support profiling 64-bit applications, and, of course, all AQtime panels and productive tools support 64-bit code.
With version 5 you can profile all types of 32- and 64-bit modules: EXE files, DLLs, COM and DCOM libraries, services, IIS and ASP.NET modules and others. Using the product, you can find performance bottlenecks in your 32- and 64-bit applications, locate memory and resource leaks, trace bugs and get detailed reports on each type of profiling.
Due to close integration of AQtime and Visual Studio, developers now have the multi-purpose profiling tool at hand and can profile their 64- and 32-bit applications without leaving Visual Studio IDE.
The following screenshots demonstrate AQtime 5's support for 64-bit code. The first of these screenshots displays the Event View panel with 64-bit DLL load addresses in it:
The following figure displays the Disassembler panel. The panel has also been improved, and now it supports 64-bit addresses:
The Disassembler field at the top-right corner of the panel reports that AQtime used the Native Disassembler (x64) engine for disassembling.
The 64-bit code support is not limited to the Event View and Disassembler panels. All other panels and profilers support 64-bit code too. For instance, the following figure displays the Allocation Profiler results that were generated for the Visual C++ 2005 sample application located in the <AQtime 5>SamplesUnmanagedAllocationVC2005 folder. Please note that the addresses are displayed as 64-bit:
In addition to support for 64-bit code, now the Allocation Profiler reports the class name of the created object for Visual C++ and Borland C++ Builder applications.
Of course, profiling of 64-bit code is supported by the Performance Profiler. The following figure shows the Performance Profiler results that were generated for the sample 64-bit application located in the <AQtime 5>SamplesUnmanagedPerformanceVC2005 folder. As you can see, all the addresses are 64-bit and the Details and Editor panels display additional information on the selected 64-bit routine.
As you can see, AQtime 5 supports profiling 64-bit applications, and it does this in the same easy fashion as profiling of 32-bit code.