Preparing Visual C++ 8.0 - 12.0, 14.0 - 16.0 Applications (Unmanaged Code) for Testing

Applies to TestLeft 15.40, last modified on March 17, 2022

This topic explains how to compile Visual C++ (unmanaged) and Qt applications in Microsoft Visual Studio 2005 - 2019 to prepare them for testing.

Note: The screenshots below were made in Visual Studio 2008.
  1. Open your Visual C++ project in Visual Studio 2005 - 2019.

  2. (Optional). To keep your release configuration intact, choose Build | Configuration Manager and select another configuration, say, Debug, as active for the project.

    Configuration Manager

    If you want to test the Release configuration, you can skip this step, but remember to restore the compiler settings after the testing is over.

  3. Open the project properties. To do this, right-click the project in the Solution Explorer and select Properties from the context menu.

  4. To provide TestLeft with information about internal methods and properties of MFC objects, you need compile the application with run-time type information (RTTI).

    Select the Configuration Properties | C/C++ | Language category and set the Enable Run-Time Type Info option to Yes.

    Project Properties: Language property page
  5. To access the private, protected, and public internals of the application, compile your application with run-time type information (RTTI) and debug information:

    • In the project properties, select the Configuration Properties | C/C++ | General category and set the Debug Information Format option to either Program Database (/Zi) or Program Database for Edit and Continue (/ZI).

      Project Properties: General property page
    • If your application contains MFC CGridCtrl controls and you use the Win32 Release configuration, select the Configuration Properties | C/C++ | Optimization category and set the Whole Program Optimization option to No.

    • Select the Configuration Properties | Linker | Debugging category and set the Generate Debug Info option to —

      • Generate Debug Information (/Debug) in Visual Studio 2010 - 2017.

      • Yes (/DEBUG) in earlier versions of Visual Studio.

      Make sure the Generate Program Database File option specifies a valid path to the file that will hold debug information.

      Project Properties: Debugging property page
    • Select the Configuration Properties | Linker | Optimization category and set the Enable COMDAT Folding option to one of the following values:

      • Visual Studio 2010 - 2019: No (/OPT:NOICF).

      • Visual Studio 2005 - 2008: Default or Do Not Remove Redundant COMDATs (/OPT:NOICF).

      Project Properties: Optimization property page
  6. If your application uses MFC classes, switch to the Configuration Properties | General page and specify whether you want to use MFC in static or shared DLLs in the Project Defaults | Use of MFC combo box:

    Project Properties: General property page
    If you use the Use MFC in a Shared DLL option, Copy MFC debug information files to the compiled application’s folder. For instructions, see Downloading MFC Debug Information.
  7. Re-compile your application.

When your application is ready for the final delivery, remember to compile it without debug information and RTTI to reduce the application size.

See Also

Preparing Visual C++ Applications for Testing

Highlight search results