This topic helps you troubleshoot problems you might experience with C/C++test.
What files are analyzed? How do I analyze header files?
C/C++test analyzes C/C++ source files directly and header files indirectly. Based on the current selection, C/C++test will analyze all C/C++ source files and report violations for all source and header files from the selection (only for header files included by the source files).
- if the project root is selected, then all source files (and header files indirectly) will be analyzed.
- if a single source file is selected, then only that file will be analyzed (no header files will be analyzed).
- if single source file and a single header file is selected, then the source file (and header file if it's included by the source) will be analyzed.
- if only a header file is selected, then C++test will skip the analysis (header files are not analyzed directly).
How can I modify the verbosity level of the C/C++test console?
Choose Parasoft> Preferences, select Console, then select the desired verbosity level (High, Normal, Low).
|High Verbosity||Normal Verbosity||Low Verbosity|
Basic info about the current step’s name and status (done, failed, up-to-date)
|Violations printed out during static analysis and unit testing execution|
What do I do if C/C++test runs out of memory?
To prevent C/C++test from running out of memory, add memory parameters to the script or shortcut you are using to start C/C++test. The two parameters are the initial size of the JVM (Xms) and the maximum size of the JVM (Xmx). Typically, both are set to the same size (for instance, 1024MB). However, if you have occasional problems but don't want to always allocate a large amount of memory, you can set the parameters to different sizes (for example, 1024MB as the initial size and 1400MB for the maximum size). The maximum size you can set depends on your OS and JVM.
cpptest.exe -J-Xms1024m -J-Xmx1400m
C/C++test plugin for Eclipse:
eclipse.exe -vmargs -Xmx1400m
-Xmxsetting. This may be particularly useful for when you perform static analysis or report results to DTP. See Configuring Advanced Options for details.
How can I adjust connection timeouts?
If you suspect that your problems stem from network or connection problems, you may want to try adjusting timeouts by adding the following switches to your JVM:
|parasoft.ws.timeout||Sets socket timeout for all services. Value is in seconds|
|parasoft.ws.connection.timeout||Sets connection timeout for all services. Value is in seconds.|
|parasoft.tcm.timeout||Sets timeout for Team Server service. It could set timeout only for this service or override the value set by the general |
parasoft.ws.timeout, value in seconds.
If only parasoft.ws.timeout is set, it affects both socket and connection timeout.
If I’m having problems, what information should I send to the C/C++test support team?
See Preparing a Support Archive.
How can I tell what version of C/C++test is installed?
To check which version of C++test is currently installed:
- Choose Help> About Eclipse (for the plugin) or Help> About Parasoft C/C++test (for the standalone version).
- Click the Parasoft button. The About Features dialog will open.
- Check the C/C++test version in the features table (the Version column).
What if C++test was not (re-) installed correctly?
Try to launch Eclipse (once) with the
-clean option. This will force a refresh of an internal (Eclipse) registry/cache.
Why does Eclipse crash upon startup now that I installed the C/C++test plugin?
Because it cannot write to the location in the installation directory where configuration files are kept. This is common when Eclipse is set up to have multiple users share a single install area. To prevent this, store config files in your home directory (for details on how to do this, see the first bullet in Other Requirements).
How can I prevent my machine ID from floating?
Changes in the network environment may affect the interface that is used to compute your machine ID and result in machine ID instability. You can use the PARASOFT_SUPPORT_NET_INTERFACES environment variable to specify a stable interface and prevent the machine ID from floating.
- Set up the PARASOFT_SUPPORT_NET_INTERFACES environment variable.
Set the variable value to a stable Ethernet network interface. Do not use virtual, temporary or loopback interfaces.
- On Windows: Set the value to the MAC address of your network card. You can use the
ipconfig -allcommand to obtain the address. For example:
- On Linux: Set the value to one of the network interfaces from the "inet" or "inet6" family. You can use the
ifconfigcommand to obtain the list of available interfaces. For example:
If the problem persists, you can obtain diagnostic information by setting up the environment variable PARASOFT_DEBUG_NET_INTERFACES and setting its value to true. This will print to the standard output the checking procedure that can be shared with technical support, as well as the interface that is used to compute your machine ID. The interface will be marked with the [SELECTED] prefix.
Why are suppressions of some rules no longer available on DTP after C/C++test was upgraded to a newer version?
Suppressions associated with rules whose messages changed between releases may not be available on DTP and the rules must be re-suppressed.
You can restore legacy messages for BD category rules in version 10.4.1 and later by configuring the following advanced option (see Configuring Advanced Options):
CPPTEST_ENGINE_EXTRA_ARGS="-property flowanalysis.legacy.messages.for.BD.PB.ARRAY=true -property flowanalysis.legacy.messages.for.BD.PB.ZERO=true"
To successfully restore the legacy messages, ensure that you remove the .cpptest folder that contains the local C/C++test cache data from following location:
How can I import C++test 6.x Test Configurations?
See Migrating test assets from C++test 6.x.
Testing and Analysis
What if the compiler family is not auto-detected?
Ensure that you have correctly configured your environment for the given compiler before launching Eclipse (including. $PATH, $LD_LIBRARY_PATH etc.)
How do I work with Microsoft Visual C++ compilers?
Visual C++ 6.0
Import the project as described in To create a C++test project from a Visual Studio 6.0 project:
Other Versions of Visual C++
For other versions of Microsoft Visual C++, use the "Visual Studio Command Prompt" utility script (provided with the Visual Studio installation) to open a console with the Visual Studio environment. Then, launch Eclipse from that console to ensure that the environment is correctly configured. Note that C++test is also available as a plugin for Visual Studio 2005 and newer versions.
What does the "cannot open .pathtoeclipse file" message mean (when launching cpptestcli)?
.pathtoeclipse file is automatically created when you install C++test with the
extinstall utility. This file contains the location of your Eclipse installation. If the file is missing (as indicated by the above message), manually add it by creating a simple text file, adding a line with your Eclipse location, then saving it as
Is it possible to create a project using command-line utility (cpptestcli)?
Yes. See Creating a Project Using an Existing Build System.
What if C/C++test is unable to execute test cases with the Debug Unit Tests test configuration?
If you debug code compiled with the Microsoft Visual C++ 14.2 compiler shipped with Visual Studio 2019, launch Visual Studio 2019 IDE prior to debugging and ensure it is running in the background until the C/C++test run has ended.
What can I do if C/C++test reports a timeout during static analysis?
To ensure the analysis completes, you can do one of the following:
- Increase the timeout limit by configuring the following advanced option:
See Configuring Advanced Options
- Disable the most time-consuming rules or metrics in your test configuration. The information about the times is included in the timeout message displayed on the console and in the report.
- Contact Parasoft Support.
How can I create a report with a list of active coding standard rules?
When generating a report, specify a report configuration file that contains the following entry:
What if some characters fail to be properly displayed in C/C++test reports?
Reports generated by Parasoft products require a sans-serif font to be available in your environment. If your report fails to correctly display some characters, such as national characters, ensure that a sans-serif font is installed on your system.
Working in the IDE
What if the Parasoft menu is not available?
Set C/C++ or C++test as the current perspective (by choosing Window> Open Perspective> Other, then choosing C/C++ or C++test from the dialog that opens).
What if an overlay scrollbar in Eclipse hides some C/C++test's GUI elements on Linux?
Due to a bug in some Eclipse versions, an overlay scrollbar may partially hide the last item in a list or tree, preventing the user from clicking the item. As a workaround on Linux, you can disable overlay scrollbars by setting the following system variable: