Microsoft KB Archive/121347

= FIX: Unable to Set Breakpoint on Label in Constructor =

Article ID: 121347

Article Last Modified on 8/16/2005

-

APPLIES TO


 * Microsoft Visual Workbench for Windows, when used with:
 * Microsoft Visual C++ 2.0 Professional Edition

-



This article was previously published under Q121347



SYMPTOMS
The debugger is unable to set the breakpoint and no warning or error messages are given when you set the following breakpoint: {SimpleClass::SimpleClass}MyLabel Here SimpleClass is a class and MyLabel is a label inside the constructor. Using the full context below does not work either: {SimpleClass::SimpleClass(int)}MyLabel



CAUSE
There are two constructors SimpleClass::SimpleClass and the label happens to be in the second of the two constructors as shown in the sample code listed in the More Information section below. The expression evaluator searches only the first of the contexts specified by the context operator for the label.



RESOLUTION
Reverse the order of the definitions of the constructors to set the breakpoint correctly.



STATUS
Microsoft has confirmed this to be a bug in the products listed at the beginning of this article. This problem was not reproducible in Microsoft Visual C++, 32-bit Edition, version 4.0.



MORE INFORMATION
The following sample code demonstrates the problem. The debugger does not set a breakpoint on {SimpleClass::SimpleClass}MyLabel.

Sample Code

 * 1) include 

class SimpleClass { public: int initval;

SimpleClass( void ); SimpleClass( int ); };

SimpleClass::SimpleClass {  initval = 0; }

SimpleClass::SimpleClass( int val ) {  initval = val; MyLabel: ; }

void main {  SimpleClass SCOne(10);

printf( "%d\n", SCOne.initval );

}

Additional query words: 1.00 2.00 buglist1.00 buglist2.00

Keywords: kbbug kbfix KB121347

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.