Microsoft KB Archive/843413

= Visual Studio .NET may stop responding if the BoundsChecker tool is integrated with Visual Studio .NET or Visual Studio 2005 when you build a solution that contains multiple projects =

Article ID: 843413

Article Last Modified on 1/13/2006

-

APPLIES TO


 * Microsoft Visual C++ .NET 2003 Standard Edition
 * Microsoft Visual C++ .NET 2002 Standard Edition
 * Microsoft Visual C++ 2005 Express Edition

-





SYMPTOMS
When you try to build a solution that contains multiple Microsoft Visual C++ .NET or Visual Studio 2005 projects, Microsoft Visual Studio .NET or Visual Studio 2005 may stop responding. You may notice this problem when you integrate the BoundsChecker tool with Visual Studio .NET.

Note The BoundsChecker tool is a third-party run-time error detection and debugging tool for Visual C++ .NET or Visual C++ 2005 developers.



CAUSE
The BoundsChecker tool calls the CConfigurationAssignmentExt::get_Extender method at the beginning of each project build. The get_Extender method creates an object of the CComBSTR class and an object of the CComVariant class. The CComBSTR object and the CComVariant object are assigned the same BSTR value. When these objects go out-of-scope, memory is freed two times. If the Visual Studio .NET or Visual Studio 2005 solution contains multiple projects, building the solution corrupts more memory and causes Visual Studio .NET or Visual Studio 2005 to stop responding.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.



MORE INFORMATION
Memory is freed two times in both the CConfigurationAssignmentExt::get_Extender method and the CConfigurationAssignmentExt::get_ExtenderNames method. The CComBSTR object and the CComVariant object are assigned the same BSTR value in both the get_ExtenderNames method and the get_Extender method. Memory is freed two times when these objects go out-of-scope. Therefore, the repetitive calls to both these methods cause Visual Studio .NET or Visual Studio 2005 to stop responding.

