Articles

[Collapse]AQtime/viewarticle/43079/
 [Expand]General Information/viewarticle/43079/
 [Expand]Getting Started/viewarticle/43449/
 [Collapse]Profiling Applications With AQtime/viewarticle/43100/
  [Collapse]Preparing Applications for Profiling/viewarticle/43446/
    How AQtime Profilers Use Metadata and Debug Information/viewarticle/42997/
   [Collapse]Compiler Settings for Native Applications/viewarticle/42957/
     Compiler Settings for Microsoft Visual C++ 6.0/viewarticle/43502/
     Compiler Settings for Microsoft Visual Basic/viewarticle/43153/
     Compiler Settings for Embarcadero Delphi XE6/viewarticle/63952/
     Compiler Settings for Embarcadero Delphi XE2, XE3, XE4 and XE5/viewarticle/54592/
     Compiler Settings for Embarcadero Delphi XE/viewarticle/43337/
     Compiler Settings for Embarcadero Delphi 2010/viewarticle/42975/
     Compiler Settings for CodeGear Delphi 2009 for Win32/viewarticle/42998/
     Compiler Settings for CodeGear Delphi 2007 for Win32/viewarticle/43486/
     Compiler Settings for Borland Delphi 2006 for Win32/viewarticle/43017/
     Compiler Settings for Borland Delphi 2005/viewarticle/43575/
     Compiler Settings for Borland Delphi 7.0/viewarticle/43178/
     Compiler Settings for Embarcadero C++Builder XE6 (64-bit)/viewarticle/54602/
     Compiler Settings for Embarcadero C++Builder XE6 (32-bit)/viewarticle/63950/
     Compiler Settings for Embarcadero C++Builder XE3, XE4 and XE5 (64-bit)/viewarticle/54602/
     Compiler Settings for Embarcadero C++Builder XE3, XE4 and XE5 (32-bit)/viewarticle/42974/
     Compiler Settings for Embarcadero C++Builder XE2/viewarticle/43053/
     Compiler Settings for Embarcadero C++Builder XE/viewarticle/43156/
     Compiler Settings for Embarcadero C++Builder 2010/viewarticle/43587/
     Compiler Settings for CodeGear C++Builder 2009/viewarticle/43182/
     Compiler Settings for CodeGear C++Builder 2007/viewarticle/43497/
     Compiler Settings for Borland C++Builder 2006/viewarticle/43522/
     Compiler Settings for Borland C++Builder 6.0/viewarticle/42972/
     Compiler Settings for Borland C++/viewarticle/43042/
     Compiler Settings for Intel C++/viewarticle/43356/
     Compiler Settings for GNU CC/viewarticle/43162/
     Compiler Settings for Compaq Visual Fortran/viewarticle/43093/
   [Expand]Compiler Settings for .NET Applications/viewarticle/43350/
   [Expand]Compiler Settings for Java Applications/viewarticle/43189/
  [Expand]Setting Up a Profiling Project/viewarticle/43517/
  [Expand]Running a Profiling Session/viewarticle/43263/
  [Expand]Profiling Various Applications and Code/viewarticle/43355/
  [Expand]Working With Profiler Results/viewarticle/43542/
  [Expand]Best Practices and How to Tutorials/viewarticle/43360/
 [Expand]AQtime Reference/viewarticle/43097/
 [Expand]Development Tools Integration/viewarticle/43508/
 [Expand]Samples and Tutorials/viewarticle/43120/
 [Expand]Other Tools for Optimizing Your Applications/viewarticle/43008/
 [Expand]AQtime 8 Licensing Guide/viewarticle/43331/
Updated: 9/22/2014 Applies To: AQtime 8 Rating: ExcellentExcellentExcellentExcellentExcellent 2 vote(s) Click to rate: PoorNot badAverageGoodExcellent
Compiler Settings

Compiler Settings for Embarcadero Delphi 2010

This topic explains how to prepare applications created with Embarcadero Delphi 2010 for AQtime. To learn how to prepare applications created with other Delphi versions, see Compiler Settings for Native Applications.

To prepare a Delphi 2010 application for AQtime, you must first ensure that it includes debug information. Follow these steps:

  1. Open your Delphi project in Delphi 2010.

  2. Activate the configuration that you use to build the debug version of your application. To do this, right-click the Project_Name | Build Configurations | Debug Configuration node in the Project Manager and select Activate from the context menu.

    Note: You can build your application in any configuration, not just in the debug one. We choose the debug configuration to make sure the changes that will be made to compiler settings will not affect the release configuration that is typically used to build the final version of applications.
  3. Choose Project | Options from the main menu to open the Project Options dialog.

  4. In the Build Configuration combo box, select your debug configuration. This will quickly load the settings used for debug builds.

  5. To set the compiler options, select the Delphi Compiler| Compiling category from the tree view on the left of the dialog.

  6. Set the Stack frames option to True in the Code generation group.

  7. To include symbolic debug information, set the Debug information option to True in the Debugging group.

  8. To view the variables, which are local to procedures and functions, set the Local symbols option to True in the Debugging group.

  9. If you want to profile VCL classes, for example, TDataset, set the Use debug .dcus option to True in the Debugging group. Otherwise, AQtime will only be able to profile the classes that are defined in your application.

    Project Options: Compiling
    Click the image to enlarge it.
  10. Switch to the Delphi Compiler | Linking category and set the Debug information option to True:

    Project Options: Linking
    Click the image to enlarge it.
  11. If you do not want to use the Allocation profiler, skip this step.

    Note that the point of the Allocation profiler is not performance. Its point is to track memory allocations and deallocations. To do this, the profiler requires access to the basic VCL objects (TObject and TInterfacedObject). Therefore, the easiest way to provide this access is to turn off the Build with runtime packages option in the Packages category:

    Project Options: Packages
    Click the image to enlarge it.
    If you want to use the Build with runtime packages option (for instance, to control the exe size), you can still use the Allocation profiler. When you include your application in an AQtime project, you will also have to include the <Windows>\System32\RTL140.BPL file.

    To add a module to an AQtime project, press Add Module on the Setup toolbar or select it from the Setup context menu.

  12. Once you have set the compiler and linker options correctly, rebuild your application and it will be ready for profiling. If you are profiling an ActiveX control or a COM server however, you should register its “debug” version in the system (See Profiling COM Applications).

When your application is ready for release, remember to recompile it without debug information to reduce the application size.

Note: AQtime is incompatible with some third-party tools that modify the binary code of your application (for example, those that add a custom exception handling mechanism). An example of such a tool is EurekaLog. We recommend that you profile your application before processing it with such tools.

Nevertheless, AQtime is compatible with AQtrace and supports profiling of applications that use AQtrace for error reporting.

See also
Compiler Settings for Native Applications


© 2014 SmartBear Software. All rights reserved.
Email Send feedback on this document