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.
If ever you have any problems or you would like additional technical information or advice, there are several sources. In some countries, product support from Micro Focus may be available only to customers who have maintenance agreements.
If you obtained this product directly from Micro Focus, contact us as described below. If you obtained it from another source, such as an authorized distributor, contact them for help first. If they are unable to help, contact us as described below.
However you contact us, please try to include the information below, if you have it. The more information you can give, the better Product Support can help you. But if you don't know all the answers, or you think some are irrelevant to your problem, please give whatever information you have.
Our Web site gives up-to-date details of contact numbers and addresses. The product support pages contain considerable additional information, including the WebSync service, where you can download fixes and documentation updates. To connect, enter www.microfocus.com in your browser to go to the Micro Focus home page.
If you are a Micro Focus Product Support customer, please see your Product Support Handbook for contact information. You can download it from our Web site or order it in printed form from your sales representative. Support from Micro Focus may be available only to customers who have maintenance agreements.
This section presents known issues and technical notes for DevPartner for Visual C++ BoundsChecker Suite. Click a category to view the list of issues and notes.
Suite-wide Issues
Coverage Analysis
Error Detection
Performance Analysis
Issues Related to Visual Studio or to Visual Studio Team System
System Comparison
Back to topWhen running against a 64-bit application, you must change the Any CPU
entry in your solution file to x86
or you will
get this message: DevPartner is unable to test 64-bit projects
.
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 package to fail to load into Visual Studio.
If you set DEP to OptOut
, be sure to include the Visual Studio executable (DEVENV.EXE
for Visual Studio 2005 and 2008)
in the list of programs and services that are not to run with DEP.
TrackRecord integration features with DevPartner are handled through an Application Program Interface (API) supplied by the TrackRecord product. Because of this, the DevPartner's TrackRecord integration feature support is based on Operating Systems supported by TrackRecord. Refer to TrackRecord documentation for TrackRecord Operating System requirements.
The integration to the DevPartner Fault Simulator product does not work with DevPartner 9.0.x. Users of Fault Simulator integration should use DevPartner 8.2.
During installation or removal of DevPartner, an MSI.EXE
error message may 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.
Collected static initialization data may not display for partial class member fields that have a constructor implemented in a different source file than the statically initialized fields. In these cases, source view may 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.
When starting Visual Studio 2008 on the Windows Vista Ultimate SP1 32-Bit, an error message may appear indicating that DevPartner Performance Analysis failed to get the session manager service and that profiling will be disabled. This can occur when DPAnalysis cannot create an instance of the COM object CLSID: 163DF3E5-701A-44d9-9B82-59F4EADBBAA8. This issue will be addressed in a future DevPartner release.
Internet Explorer 8.0 (IE8) is supported for driving, testing, and profiling server applications, as well as for rendering of management reports, XML output, online help, and other general browser usage in DevPartner. However, IE8 in the parent/child process model compared to prior IE releases proved incompatible with the embedded script debugger used in DevPartner's browser-side profiling technique. If a test is performed with Code Coverage using an IE8 client, then no results are reported from the client. If a test is performed with Performance Analysis using an IE8 client, then the client report includes no script timings under the Source folder and unrelated or misleading system call timings. This remains a limitation of the DevPartner 9.1 release and will be corrected in a future maintenance release.
DevPartner customers who may be interested in participating in alpha testing to validate the resolution of this issue or other early experience programs should identify themselves through the Micro Focus SupportLine Customer Care web site.
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.
Running an application using Error Detection with the Memory Tracking feature may cause the application to stop responding. This condition is due to a race condition triggered by the Microsoft C Runtime Library (CRT) version 9. The DevPartner engineering team is engaged with Microsoft on a proper resolution to the issue, which does not occur in earlier versions of the Microsoft CRT library. The issue will be resolved in an upcoming DevPartner release after validation by alpha test sites. DevPartner customers who may be interested in participating in alpha testing to validate the resolution of this issue or other early experience programs should identify themselves through the Micro Focus SupportLine Customer Care web site.
Users of Symantec Endpoint may not be able to reliably detect memory leaks when using Error Detection. Symantec Endpoint loads a Dynamic Link Library (.DLL) file that interferes with Error Detection's ability to detect memory leaks. This issue does not occur with Symantec Endpoint release SEP 11 MR4 MP1a (11.0.4.4014) and later for the unmanaged client, but may exist still exist in release SEP 11 MR4 MP1a (11.0.4.4014) and later for the managed client.
To work around this issue, upgrade to Symantec Endpoint release SEP 11 MR4 MP1a (11.0.4.4014) or later for the unmanaged client.
When an application tested under BoundsChecker on the Windows 7 operating system encounters an unhandled exception, BoundsChecker is unable to prevent that application from terminating immediately. On earlier releases of Windows operating systems, BoundsChecker retained control of the application long enough to obtain a final memory leak report. On Windows 7, the application simply terminates. The session transcript notes the termination, but does not report the exception itself, and does not generate memory leak messages about what may still be allocated in memory.
In these instances, a final memory leak report may not contain much useful data, because the application does not get the chance to perform an orderly shutdown.
You must have Administrative privileges when building the BugBench sample application on Windows Vista. Building the sample generates a COM DLL that must be registered. Windows Vista will not allow the DLL to be registered if without Administrative privileges.
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.
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:
dcomcnfg.exe
.Error Detection will collect data properly the next time the DCOM or COM application or component is launched.
Error Detection will still report some Leaks and Errors, even if all Modules are OFF under the Error Detection Settings, because:
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); }
If you install Visual Studio 2005 or 2008 after your DevPartner installation, follow this two-step process to integrate the two products:
The second step is required to integrate the DevPartner help system with the Microsoft help system.
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.
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 8.2 or later version, these settings will be listed as missing from the older snapshot.
DevPartner for Visual C++ BoundsChecker Suite Known Issues
Copyright © 2009, Micro Focus (IP) Limited
10/09/2009 03:29 PM