BUG: Conditional Breakpoint with Pass Count Breaks Incorrectly (116461)



The information in this article applies to:

  • Microsoft CodeView for MS-DOS 4.0
  • Microsoft CodeView for MS-DOS 4.01
  • Microsoft CodeView for MS-DOS 4.1

This article was previously published under Q116461

SYMPTOMS

When using conditional breakpoints with a pass count in CodeView for MS-DOS, CodeView may initially break at the wrong time.

RESOLUTION

To work around the problem, run your program beyond the point where the variables in the expression are declared or initialized; then set the conditional breakpoint and resume the program.

STATUS

Microsoft has confirmed this to be a bug in CodeView for MS-DOS, versions 4.0, 4.01, and 4.1. We are researching the problem and will post new information in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

The sample program below demonstrates this problem. Build a debug version, load it into CodeView for MS-DOS, and then type the following commands in the CodeView command window:

>bp ?{main}j>2 /p4
>g
>g

The first g command stops before i and j are initialized; the second g command stops at the proper breakpoint location.

Sample Code

/* Compile options needed:   /Zi
*/ 

   int a[10][10] = {0};

   void main( void )
   {
       int i, j;

       for ( i = 0; i < 10; i++ )
           for ( j = 0; j < 10; j++ )
               a[i][j] = i * j;
   }
				

Modification Type:MajorLast Reviewed:9/30/2003
Keywords:kb16bitonly KB116461