Debug Info Agent™ exposes public, published, protected and private members of objects in TestComplete applications as soon as the application is compiled with debug information. This topic explains how to include debug information into applications created with Embarcadero Delphi 12 Athens and Delphi 13 Florence.
| Note: | Debug Info Agent™ is incompatible with tools that change the debug information format. An example of such a tool is EurekaLog 7. We recommend that you disable EurekaLog when compiling an application aimed for automated testing with TestComplete. Otherwise, you will be unable to access private, protected and public methods and properties of your Delphi applications from tests. |
| Note: |
Delphi 13 Florence introduces a 64-bit IDE installed side-by-side with the 32-bit IDE. The 32-bit IDE remains the default. The steps below apply to both the 32-bit and 64-bit IDE. The Project Options dialog is available in both IDEs. |
To change the project options to use the required debug information format, do the following:
-
Open your project in Embarcadero RAD Studio (Delphi 12 Athens or Delphi 13 Florence).
Note: For Delphi 13 Florence, you can use either the 32-bit or 64-bit IDE. -
Activate the configuration that you use to build the debug version of your application:
-
In Project Manager, right-click the project name, and then select Build Configurations.
-
Select the Debug configuration, and then select Activate.
Note: You can build your application in any configuration, not just the debug configuration. Use the debug configuration to ensure that changes to the compiler settings do not affect the release configuration, which is typically used to build the final version of the application. -
-
On the menu bar, select Project, and then select Options to open the Project Options dialog box.
-
In the Build Configuration list, select the required debug configuration. This loads the settings used for debug builds.
-
In the left panel, select Delphi Compiler, and then select Compiling. Do the following:
-
In the Code generation group, set Optimization to false.
-
In the Debugging group, set Debug information, Local symbols, and Debug .dcus to true.
Note: You can keep Local symbols set to false, but the names of some method parameters will not be displayed in the Object Browser panel. -
-
In the left panel, select Delphi Compiler, and then select Linking. Set Debug information to true.
-
(For 32-bit applications only) The Delphi compiler can store generated debug information in separate .tds files or in the TD32 format, which is compiled into the application’s binary modules. Debug Info Agent™ supports both formats. To store debug information in a separate TDS file, set Place debug information in separate TDS file to true.
Note: The .tds files containing debug information must reside in the same folders as the appropriate modules of the tested application.
Even if the application is compiled with the Local symbols option enabled, the names of some method parameters may not be displayed in the Object Browser. Compile with internal debug information if parameter names matter.
There is no need to distribute the generated .tds files with your application.
Note: For 64-bit Windows targets in Delphi 13 Florence, the LLDB-based debugger (LLDB 20) is used. Debug Info Agent™ relies on the TD32/TDS debug information format. Ensure the Delphi Compiler > Linking > Debug information option is set to true regardless of the target platform.
-
Turn off the Link with runtime packages option in Packages under Runtime Packages.
If this property is checked, Embarcadero RAD Studio creates Borland package library (.bpl) files when compiling the application. TestComplete cannot access debug information in these files and some controls. If this property is unchecked, all information is included in a single executable and can be accessed by TestComplete. For more information about runtime packeges, see About Runtime Packages.

If, for some reason, you cannot turn off the Build with runtime packages option, TestComplete may not be able to get access to the application's internal methods and properties. To resolve the problem, enable the Read debug information for statically linked libraries project option in TestComplete. -
Select OK to save the changes and close the Project Options dialog box.
-
Recompile the application.
Some notes concerning this approach:
-
The .tds files containing debug information must reside in the same folders that the appropriate modules of the tested application.
-
Even if the application is compiled with the Local symbols option enabled, the names of some method parameters may not be displayed in the Object Browser. If viewing parameter names is important to you (for instance, if you are developing new tests), compile the tested Delphi application with internal TD32 debug information (see below).
-
There is no need to distribute the generated .tds files with your application.
Recompile the release version of your application without debug information to reduce the application size.
See Also
Debug Info Agent™
Debug Info Agent™ Specifics
Testing Delphi Applications - Overview
