Known Issues

DevPartner for Visual C++ BoundsChecker Suite

Version 8.2.1

Copyright 2007, Compuware Corporation. All rights reserved.


DevPartner for Visual C++  BoundsChecker Suite is a suite of tightly integrated development features. DevPartner incorporates error detection, performance analysis, and coverage analysis, and includes a system comparison utility. DevPartner helps developers detect, diagnose, and resolve software bugs, maximize code performance, and ensure optimal code coverage and testing. 


Table of Contents


Contacting Compuware Technical Support

For purchase or upgrade issues, contact Compuware Sales, Monday through Friday, 8:00 AM to 8:00 PM EST:

For technical problems, from installation to troubleshooting, contact Compuware Technical Support:

Technical support is available as a Priority Support Service from 8:00 AM to 8:00 PM EST, Monday through Friday:

Problem reports should include:

Back to top


Known Issues and Technical Notes

This section presents known issues and technical notes for DevPartner. Click a feature name or category to view the list of issues and notes.

Suite-wide Issues

Coverage Analysis

Error Detection

Performance Analysis

Issues Specific to Visual Studio 2005 or to Visual Studio 2005 Team System

System Comparison

Back to top

Modifying DevPartner on Vista Systems

DevPartner's Modify option is not available through Control Panel > Add or Remove Programs on Vista systems. To modify a DevPartner installation on Vista systems, run DevPartner's installation program (setup.exe) and select the Modify option.

Back to Known Issues

Installing Visual Studio 2005 after DevPartner Installation

If you install Visual Studio 2005 after your DevPartner installation, follow this two-step process to integrate the two products:

  1. Rerun the DevPartner installation, selecting Modify. (On Vista systems, you must run Modify from the installation media. DevPartner's Modify option is not available through Control Panel > Add or Remove Programs on Vista systems.)
  2. Run the DevPartner installation again, selecting Repair.

The second step is required to integrate the DevPartner help system with the Microsoft help system.

Back to Known Issues

Interoperability of DevPartner Features and Products

Only one DevPartner feature1 or DevPartner product2 can monitor a particular application process at any given time. For example, if the DevPartner error detection feature is monitoring an executable file, you must wait until monitoring has finished before starting a fault simulation.

1Such as DevPartner error detection or performance analysis
2Such as DevPartner Fault Simulator or DevPartner SecurityChecker

Back to Known Issues

Packages Fail to Load or Installation Fails Due to Data Execution Prevention Setting

Systems with the Data Execution Prevention (DEP) setting configured as /NoExecute=Always On and the CPU's Execute Disable bit enabled might prevent DevPartner from loading into Visual Studio.

See article number 875352 in the Microsoft Knowledge Base for a detailed description of the Data Execution Prevention feature.

System-wide DEP is set in the BOOT.INI file using the /NOEXECUTE option on the system boot partition. By default this is set to OptIn, which specifies that DEP is only enabled for essential Windows programs and services.

Setting this to AlwaysOn causes the DevPartner installation to fail, and if the setting is changed to AlwaysOn after installation it will cause the DevPartner Visual Studio package to fail to load into Visual Studio.

If you set DEP to OptOut, be sure to include the Visual Studio executables (DEVENV.EXE for Visual Studio 2003 and 2005, MSDEV.EXE for Visual Studio 6) in the list of programs and services that are not to run with DEP.

Back to Known Issues

No Integration With DevPartner Fault Simulator

The integration to the DevPartner Fault Simulator product does not work with DevPartner Studio 8.2.1. Users of Fault Simulator integration should use DevPartner Studio 8.2.

Back to Known Issues

License Error After Uninstalling Fault Simulator 1.5

Installing Fault Simulator 1.5 after installing DevPartner, then uninstalling Fault Simulator, causes a licensing failure when attempting to run DevPartner.

To correct this problem, after uninstalling Fault Simulator:

  1. Reboot the machine.
  2. Do a Repair on DevPartner for Visual C++  BoundsChecker Suite.
  3. Either reboot the machine or restart the NCS service.

Back to Known Issues

MSI.EXE Error During Install or Uninstall

During installation or removal of DevPartner, an MSI.EXE error message might display stating that the application has encountered an error or has referenced memory it cannot read. Click Ok and ignore this error. The install/uninstall will continue without error.

Back to Known Issues

McAfee Anti-Virus Buffer Overrun Protection

Buffer overrun protection, a feature of many antivirus packages, can cause intermittent crashes when profiling Internet Explorer and IIS. Errors such as the following may occur:

"The application failed to initialize properly (0xc0000005) Click Ok to terminate."

If you have anti-virus installed and encounter these errors, turn off your anti-virus package's buffer overrun protection feature or contact your anti-virus vendor for updated software.

Back to Known Issues

Reboot After Visual Studio 2005 Service Pack 1 Installation

If you install Microsoft Visual Studio 2005 Service Pack 1, you must reboot your machine after installing the service pack.

Back to Known Issues

Installing Visual Studio 2005 Service Pack 1 on Windows Server 2003

If you are attempting to install Microsoft Visual Studio 2005 Service Pack 1 on Windows Server 2003, be aware of the issues described in Microsoft Knowledge Base article #925336.

Back to Known Issues

Mach 5 Driver Not Starting on Vista

Applies to Performance Analysis

On Vista systems with UAC enabled, if you run Visual Studio 2005 without Administrative privileges, the Mach5 driver required for performance profiling is not started. Performance analysis will provide inaccurate data. To correct this condition, run Visual Studio 2005 as an administrator, as suggested by Microsoft, or manually start the Mach5 driver with the net start mach5 command.

Back to Known Issues

No Data for Certain Lines in Partial Classes in Visual Studio 2005

Applies to Coverage Analysis and Performance Analysis

There is a known issue with displaying data collected for static initialization of member fields of partial classes in which a constructor is implemented in a different source file than the statically initialized fields. In these cases the source view will show no data for the static member field initialization. This is because the data is attributed to the constructor of the partial class and not the assignment statement for the static initialization of the field. If a source file only contains statically initialized member fields for a class, the source file will not be shown in the list of source files for the module in the results.

Back to Known Issues

Permissions Error for Team Foundation Server

Applies to Error Detection

When running Error Detection, you may encounter one of the following issues:

Visit the DevPartner Support Knowledge Base on Frontline (http://frontline.compuware.com/apps/kb/) and search for Team Foundation Server for a workaround.

Back to Known Issues

Administrative Privileges Required to Build BugBench on Vista

Applies to Error Detection

When you build the BugBench sample on Vista, you must have Administrative privileges. Building the sample generates a COM DLL that must be registered. Vista will not allow the DLL to be registered if you lack sufficient privileges.

Back to Known Issues

Target Names and Paths Must Exactly Match Those Provided to Error Detection

Applies to Error Detection

To ensure successful monitoring of your application when using Wait for Process under the standalone version of Error Detection, the target names and paths must exactly match what you specified to Error Detection. If you use an intermediary step that somehow changes the target names or paths, Error Detection may not recognize that your application has launched. For example, if you select an executable (C:\MyApplications\foo.exe) as your target, select Wait for Process, and then launch an intermediary application that changes the fully qualified names to short names and launches C:\MyAppl~1\foo.exe, Error Detection will not recognize that your application has been launched.

Back to Known Issues

Error Detection Uses Symbol Paths Defined in Project Settings

Applies to Error Detection

You may discover Error Detection is not returning symbol information. This can be caused by having your symbol paths defined at the solution level rather than the project level. Define your symbol paths under Project Settings.

Back to Known Issues

Opening Legacy Solution Files in Visual Studio 2005

Applies to Coverage Analysis, Error Detection, Performance Analysis

If you attempt to open a legacy solution file, Visual Studio 2005 may display the following error message: The selected file is a solution file, but appears to be corrupted and cannot be opened. The problem is due to an obsolete entry in the solution file written by an earlier version of DevPartner. You can safely remove this entry using Notepad. To remove the entry:

  1. Exit Visual Studio 2005.
  2. Open the solution file in Notepad and remove the following lines from the Global section of the solution:

    GlobalSection(DevPartner Solution Properties) = postSolution
    EndGlobalSection

  3. Save the file.
  4. Start a new Visual Studio 2005 session, and open your solution.

Back to Known Issues

Opening an Application Requiring Microsoft Symbols

Applies to Error Detection

The first time that an application is run with Error Detection, you may see a dialog from Microsoft Internet Symbol Store detailing their Terms of Use. You must accept the Terms of Use to continue, even if you have previously accepted these Terms of Use when running a different program that also required Microsoft symbols.

Back to Known Issues

Profiling System Services thru Terminal Services

Applies to Coverage Analysis and Performance Analysis

In some cases, when you profile custom Windows services while logged in through Terminal Services, you may not get session files. If this occurs on your system, you may be able to save the session data by specifying the full path and filename for the session file. For example: 

DPAnalysis.exe /cov /output c:\temp\MyService.dpcov /s MyService

Note: This may not work in all cases.

Back to Known Issues

Using NMCL or NMLINK directly from the Command Line

Applies to Coverage Analysis, Error Detection, and Performance Analysis

When using NMCL or NMLINK directly from the Command Line, you must add the directory containing these utilities to your path. For example, if you installed the product into the default directory, add the following directory to your path:
C:\Program Files\Common Files\Compuware\NMShared

Back to Known Issues

Error Detection Reports CRT System Leaks if Module Compiled with Visual C 6

Applies to Error Detection

The linker option /pdbtype:sept is no longer supported by the Microsoft debug file access routines. By default, projects created by the Visual C 6 Integrated Development Environment set this option. You can remove this switch with no other impact on your project, and then continue with compilation and re-linking. Unfortunately, Error Detection cannot detect whether this linker option was used to create the module. If /pdbtype:sept was set, Error Detection will report memory leaks in the C Runtime library that are normally suppressed.

Work Around Solution

There are two options:

If you are building outside of the Integrated Development Environment, you will only see this issue if you explicitly added /pdbtype:sept to your makefile(s). If a makefile includes the /pdbtype:sept text, you should edit the makefile and remove it.

Back to Known Issues

Error Detection Collects No Data for DCOM or COM-based Applications/Components

Applies to Error Detection

There are two situations in which DCOM or COM-based applications or components try to run under the restrictions of the aspnet account.  By default, when a DCOM or COM application or component is launched from within an ASP.NET enabled Web page, it will run in the context of the aspnet account. For security reasons, the aspnet account is a restricted account (it is a member of the Users group and has equivalent privileges). In this situation your COM component will not have the security privileges required for Error Detection to function properly. To work around this issue, you must configure your DCOM or COM application or component to execute within the context of the interactive user (via dcomcnfg.exe).

To configure your DCOM or COM application or component to run under the context of the interactive user:

  1. Open a command prompt and run dcomcnfg.exe.
  2. Expand Component Services -> Computers -> My Computer -> DCom Config.
  3. Right-click on your COM component, and select Properties.
  4. Select the Identity tab.
  5. Ensure that you have selected The interactive user.
  6. Click OK.

Error Detection will collect data properly the next time the DCOM or COM application or component is launched.

Back to Known Issues

BugBench Source Path is Configured for Visual Studio .NET 2003

Applies to Error Detection

As it ships, the source path for BugBench is configured for Visual Studio .NET 2003. If you run BugBench examples with Visual Studio 2005, you need to modify the source path in the BugBench settings file to point to the directories for the sources shipped with Visual Studio 2005.

Back to Known Issues

Failure to Analyze a Service

Applies to Error Detection

DevPartner Error Detection may fail to analyze a service. A common cause is one (or more) of the directories used to monitor the process is not writable to the process being created. The following directories must be writable:

Back to Known Issues

Failure to Stop in the Debugger

Applies to Error Detection

DevPartner Error Detection may fail to stop in the debugger when the Program Error Detected dialog box is dismissed with the Debug button. When you dismiss the Program Error Detected dialog box with the Debug button, Error Detection puts a temporary breakpoint in your application at the start of the first line after the error. The breakpoint is automatically removed when the application stops in the debugger. If your application has an exception handler that catches the breakpoint exception and continues execution, the debugger will not get a chance to catch the breakpoint and stop the application for you.

Back to Known Issues

Failure to Create UserAllocators.log

Applies to Error Detection

If you attempt to run an application with Error Detection in a directory to which you do not have write access, you may receive an error similar to the following:

UserAllocatorsError: An error was discovered when processing the UserAllocators.dat file. Failed to create UserAllocators.log file Error:0x00000005

You can control the directory that the UserAllocators file is written to by setting the NLB File Directory on the Data Collection settings page and checking the Generate NLB files dynamically check-box.

Back to Known Issues

Restrictions

The Following Restrictions Apply to Error Detection

Back to Known Issues

CPU Time Charged to Wrong Line in For Loop

Applies to Performance Analysis

In some cases, CPU time attributable to the expression part of a For loop can be incorrectly attributed to the body of the For loop. This can occur in loops formatted so that the initializers, expression, and iterators appear on a single line, as in the example below.

			using System;
			public class ForLoopTest 
			{
			   public static void Main() 
			   {
			      for (int i=1; i<=5; i++) 
			          Console.WriteLine(i);
			   }
			}

If the body of the For loop appears to be consuming excessive CPU time, reformat your code so the initializers, expression, and iterators appear on separate lines, as shown below.

			{
			   for (int i=1;
			        i<=5; 
			        i++)
			        Console.WriteLine(i);
			}

Back to Known Issues

Visual Studio Unresponsive When Running Different Analysis Type After Performance

Applies to Performance Analysis

If you attempt to run a coverage analysis session immediately after running a performance analysis session on an ASP .NET Application running under IIS 6.0, Visual Studio may stop responding.

To recover from this situation:

  1. Restart IIS to put Visual Studio back into a responsive state. From the Start menu, select Run and type iisreset in the Open field.
  2. Restart your session.

There are two ways to avoid this situation:

Back to Known Issues

Performance Analysis too Slow on Low-end System

Applies to Performance Analysis

If Performance Analysis runs too slowly on a supported low-end PC (for example, a 733 MHz Pentium III), you can speed up performance analysis sessions by changing the processor scheduling to provide equal processing priority for background services.

  1. Open System Properties: Click Start -> Run and type sysdm.cpl and click OK.
  2. On the Advanced tab, under Performance, click Settings.
  3. On the Advanced tab of Performance Options, under Processor scheduling, select Background services and click OK.
  4. Click OK to exit System Properties.

Back to Known Issues

Internet Information Server Error During Coverage or Performance Analysis

Applies to Coverage Analysis

When running coverage or performance analysis, Visual Studio may become unresponsive and then display the following error: 

Could not restart Internet Information Server (code %d). 

(In the message above, %d represents an internal error code. In the context of this issue, you can ignore this code.)

If this occurs several times, make sure that Internet Information Server is running. If it is not running, exclude system DLLs and try again.

If the problem persists, use DPAnalysis.exe from the command line to analyze the application. Run DPAnalysis.exe through a configuration file that excludes inetinfo.

For more information, see the topic Using DPAnalysis.exe in the DevPartner online help or Appendix C of the Understanding DevPartner manual.

Back to Known Issues

Session Control Toolbar Unavailable When Running Fault Simulator and Coverage Analysis Sessions Simultaneously

Applies to Coverage Analysis

On systems with both DevPartner Fault Simulator 1.5 and DevPartner installed, you can run Fault Simulator and Coverage Analysis sessions simultaneously. (To do this, choose Fault Simulator > Start with Fault Simulator and Coverage Analysis or Fault Simulator > Start Without Debugging with Fault Simulator and Coverage Analysis.)

In some cases, when running Fault Simulator and Coverage Analysis sessions together on a managed standalone Windows application, the DevPartner Session Control toolbar may be unavailable. This will prevent you from using the Stop Recording, Take snapshot, and Clear all recorded data functions during the session.

If your Coverage analysis requires use of the Session Control toolbar functions, try one of the following workarounds:

Back to Known Issues

Localization Support in Team Foundation Server

Applies to Coverage Analysis, Error Detection, and Performance Analysis

When using DevPartner with a localized version of Visual Studio Team System, in which the name of the WorkItemType Bug has been localized to a string other than 'Bug', DevPartner will not be able create and submit bugs to the Team Project.

Back to Known Issues

Analyzing Solutions that Contain Both Managed and Unmanaged Projects

If you open a solution that contains managed and unmanaged projects, the following commands in the DevPartner menu are unavailable:

There are two approaches to analyzing mixed code solutions. 

To analyze the unmanaged code from within Visual Studio:

  1. Create a new solution that contains only the unmanaged projects from your mixed-code solution.
  2. Select DevPartner > Native C/C++ Instrumentation and rebuild your solution.
  3. Run your analysis session.

To analyze the managed and unmanaged projects together:

  1. Select DevPartner > Native C/C++ Instrumentation and rebuild your solution. This instruments the unmanaged components of the application.
  2. Use DPAnalysis.exe from the command line to run your analysis session.

Back to Known Issues

Zero Impact Projects (ZIP) in Visual Studio 2005

Applies to Coverage Analysis, Error Detection, and Performance Analysis

In Visual Studio 2005, you can create a zero impact project (ZIP) by disabling the Save new projects when created option in the Tools > Options > Projects and Solutions > General options page. However, disabling this option prevents DevPartner from creating a virtual folder for the session file in Solution Explorer or storing the session results in that folder. For best results in collecting data from your project:

If you launch a session without saving the project, click Save when Visual Studio presents the message "The current project must be saved before adding a project". Visual Studio will rename the project and store it in Solution Explorer. Although the session file is created in this scenario, it will contain references to the temporary locations of the project source code and executable modules, as well as the temporary project name. We do not recommend running the DevPartner on Visual Studio 2005 "ZIP" projects.

Back to Known Issues

System Resources Used by the System Comparison Service

Applies to the System Comparison Utility

By default, the System Comparison service is set to start automatically. The service takes a daily snapshot of your machine to facilitate system comparisons. The service runs at minimum priority, but it does consume some system resources for several minutes while it runs. If use of system resources is a concern, you can set the startup type to manual, but you will lose the functionality of having snapshots created automatically.

Back to Known Issues

Plug-in Schema Not Compatible

Applies to the System Comparison Utility

If you compare a snapshot taken with a previous version of the System Comparison utility with a snapshot taken with DevPartner 8.1.1 or later, System Comparison displays a message indicating that the plug-in schema is not compatible. The data recorded in snapshots has changed, making it impossible to create a meaningful comparison of old and new snapshots.

In addition, if you have created custom plug-ins you will have to rebuild them against the current version of the plug-in schema.

Back to Known Issues

New Settings Detected

Applies to the System Comparison Utility

System Comparison now checks for additional settings when comparing systems:

If you compare a snapshot taken with a previous version of the System Comparison utility with a snapshot taken with the DevPartner Studio 8.2 or later version, these settings will be listed as missing from the older snapshot.

Back to Known Issues

Error Detection Still Locates Leaks and Errors with Modules Disabled

Applies to Error Detection

Error Detection will still report some Leaks and Errors, even if all Modules are OFF under the Error Detection Settings, because:

Back to Known Issues

License Timeout Feature Overridden

Applies to the Licensing Feature

If you install DevPartner Fault Simulator SE and you use a Fault Simulator feature that requires a license, that license checkout will cause the license timeout policy to be overridden.

Back to Known Issues

Performing Coverage Analysis and Error Detection in Visual C 6

Applies to Coverage Analysis and Error Detection

To perform coverage analysis and error detection in Visual C 6, you must enable the Error Detection option on the DevPartner menu or toolbar.

Back to Known Issues


DevPartner for Visual C++ BoundsChecker Suite Known Issues

Copyright 2007, Compuware Corporation

08/09/2007 03:34 PM