TestLeft exposes public, published, protected and private members of objects in C++Builder applications if the application is compiled with debug information. This topic explains how to include debug information into applications created with Embarcadero C++Builder XE.
Note: | TestLeft is incompatible with tools that change the debug information format (for example, EurekaLog 7). We recommend that you disable such tools before compiling applications that will be tested with TestLeft. |
-
Open your project in Embarcadero C++Builder XE.
-
Choose Project | Options from the main menu to open the Project Options dialog.
-
Select the C++ Compiler | Optimizations category and set the Disable all optimizations option to true:
-
Switch to the C++ Linker category and set the Full debug information option to true:
-
Switch to the Directories and Conditionals category and examine the Library path. If the path contains the $(BDSLIB)\$(PLATFORM)\release or $(BDSLIB)\win32\release folder, replace it with $(BDSLIB)\$(PLATFORM)\debug or with $(BDSLIB)\win32\debug, respectively:
-
It is recommended that you turn off the Build with runtime packages option in the Packages category:
If this property is selected, Embarcadero C++Builder creates Borland package library (.bpl) files when compiling the application. TestLeft cannot access debug information in these files and some controls. If this property is not selected, all information is included in a single executable and can be accessed by TestLeft.
If, for some reason, you cannot turn off the Build with runtime packages option, TestLeft may not be able to get access to the application's internal methods and properties. -
Once you have completed these steps, click OK to save the changes and close the Project Options dialog.
-
Re-build the application.
Note: | C++Builder debug information is stored in .tds files. Make sure that the generated .tds files reside in the same folders as the appropriate modules of the application under test, otherwise TestLeft will not be able to access application internals. |
Before delivering your application, remember to compile it without debug information in order to reduce the application size.
By default, Developer Express VCL components for C++Builder are compiled and distributed without debug information. Therefore, TestLeft cannot access properties and methods of such VCL controls in the tested C++Builder application. However, you can re-compile Developer Express VCL components for C++Builder with debug information and then use them in C++Builder applications you test with TestLeft. To learn how to prepare these components for C++Builder applications, see Preparing Developer Express VCL Components for C++Builder Applications. To make TestLeft recognize TMS Software VCL controls in the tested C++Builder application properly and obtain access to their properties and methods, we recommend that you re-compile the utilized TMS components with full debug information before including them in your C++Builder application. To learn how to prepare these components for C++Builder applications, see Preparing TMS Software VCL Components for C++Builder Applications.
|