[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::debug

Title:DEBUG
Notice:Updated locations for reporting QARs -- see note 834.1
Moderator:LOWFAT::DIETER
Created:Fri Jan 24 1986
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1868
Total number of notes:8200

1828.0. "Source line correlation on ALPHA DEBUG again" by TAV02::ZVI_P (Here we are) Tue Jan 28 1997 08:11

Hi

 Source line correlation on ALPHA DEBUG again.
 A customer problem.

 Both on 6.2-103R and 7.1 .
 Both in screen no-screen and motif GUI.

 Here is a small routine and a log :

/* file: dbg_bad_line */

#include <string.h>
#include <stdio.h>

int prv_operation1 ( char *operation, char *prv_operation );
int prv_operation2 ( char *operation, char *prv_operation );

main ( int argc, char *argv[] )
{
	char	operation[10], prv_operation[10];
	int	rc;

	strcpy ( operation, "append" );
	strcpy ( prv_operation, "" );

	rc = prv_operation1 ( operation, prv_operation );
	printf ( "rc = %d\n", rc );

	rc = prv_operation2 ( operation, prv_operation );
	printf ( "rc = %d\n", rc );
}

int prv_operation1 ( char *operation, char *prv_operation )
{
	int	rc;

	if (strcmp(operation,"repnew"))
	{
		/* operation is NOT "repnew" */
		printf ( "1\n" );
		return ( strcmp ( prv_operation, "repold" ) );
	}
	else
	{
		/* operation is "repnew" */
		printf ( "2\n" );
		return ( !strcmp ( prv_operation, "repold" ) );
	};
}

int prv_operation2 ( char *operation, char *prv_operation )
{
	int	rc;

	if (strcmp(operation,"repnew"))
	{
		/* operation is NOT "repnew" */
		printf ( "1\n" );
		rc = strcmp ( prv_operation, "repold" );
	}
	else
	{
		/* operation is "repnew" */
		printf ( "2\n" );
		rc = !strcmp ( prv_operation, "repold" );
	};

	return rc;
}

Here is a log of a session.

ORTAL_PALGY> run DBG_BAD_LINE

         OpenVMS Alpha DEBUG Version V6.2-103R

%DEBUG-I-INITIAL, language is C, module set to DBG_BAD_LINE
%DEBUG-I-NOTATMAIN, type GO to get to start of main program

DBG> Go
break at routine DBG_BAD_LINE\main
  1082:         strcpy ( operation, "append" );

DBG> typ 1096:1120
module DBG_BAD_LINE
  1096:         if (strcmp(operation,"repnew"))
  1097:         {
  1098:                 /* operation is NOT "repnew" */
  1099:                 printf ( "1\n" );
  1100:                 return ( strcmp ( prv_operation, "repold" ) );
  1101:         }
  1102:         else
  1103:         {
  1104:                 /* operation is "repnew" */
  1105:                 printf ( "2\n" );
  1106:                 return ( !strcmp ( prv_operation, "repold" ) );
  1107:         };
  1108: }
  1109:
  1110: int prv_operation2 ( char *operation, char *prv_operation )
  1111: {
  1112:         int     rc;
  1113:
  1114:         if (strcmp(operation,"repnew"))
  1115:         {
  1116:                 /* operation is NOT "repnew" */
  1117:                 printf ( "1\n" );
  1118:                 rc = strcmp ( prv_operation, "repold" );
  1119:         }
  1120:         else
DBG>


DBG> Step
stepped to DBG_BAD_LINE\main\%LINE 1083
  1083:         strcpy ( prv_operation, "" );
DBG> Step
stepped to DBG_BAD_LINE\main\%LINE 1085
  1085:         rc = prv_operation1 ( operation, prv_operation );
DBG> Step/Into
stepped to DBG_BAD_LINE\prv_operation1\%LINE 1096
  1096:         if (strcmp(operation,"repnew"))
DBG> Step
stepped to DBG_BAD_LINE\prv_operation1\%LINE 1099
  1099:                 printf ( "1\n" );
DBG> Step
1
stepped to DBG_BAD_LINE\prv_operation1\%LINE 1100
  1100:                 return ( strcmp ( prv_operation, "repold" ) );
DBG> Step
stepped to DBG_BAD_LINE\prv_operation1\%LINE 1106+24
  1106:                 return ( !strcmp ( prv_operation, "repold" ) );
                *************************************************
		>>>>> Here it should point at line 1108 <<<<<<<<<
                *************************************************
DBG> s
stepped to DBG_BAD_LINE\main\%LINE 1085+28
  1085:         rc = prv_operation1 ( operation, prv_operation );
DBG>


		Do I miss something here ?

			Thanks
			Zvi

T.RTitleUserPersonal
Name
DateLines
1828.1Known resolved problem...GEMGRP::MONTELEONETue Jan 28 1997 10:1115
    
    
    What version of the C compiler are you using ? 
    
    
    This issue was addressed and resolved in the March 1996 time frame,
    although I am not sure what actual version of the compiler the fix
    went into. I have tested with version DEC C X5.3-153, and the stepping
    behavior is as expected. The fix might be in an earlier version as
    well. The fix was made in the C front end, so if more information is
    needed, contact a C front end developer (or I can for you...)
    
    
    Bob
    
1828.2At office 5.2 - customer has 5.3TAV02::ZVI_PHere we areTue Jan 28 1997 10:5916
Hi Bob

  Here at tthe office I tried it with C X5.2-002 and C V5.2-003 .

 At the customer it was some  5.3-* .

 As the customer is not available I'll check it with her tomorrow.
 Tomorrow I am out of the office - I'll try to answer asap.

>        The fix was made in the C front end, so if more information is
>    needed, contact a C front end developer (or I can for you...)
                                              Please do that will be of
great help.

			Thanks
			Zvi
1828.3Narrowed further...GEMGRP::MONTELEONETue Jan 28 1997 16:348
    
    
    The problem exists in DEC C V5.3-006, but as I mentioned, it is fixed
    in DEC C X5.3-153.
    
    
    Bob
    
1828.4Whre can I get DEC C X5.3-153 ?TAV02::ZVI_PHere we areWed Jan 29 1997 10:429
Bob

 Where can I get DEC C X5.3-153 ?

 We have here the Layered products CD of Sep-1996 and the Alpha DECC there is
 DEC C V5.3-006 .

		Thanks
		Zvi 
1828.5V5.5 shipped in DecemberDECC::VOGELWed Jan 29 1997 12:2116
    DEC C V5.5 shipped on the December CD. It corrects this problem.

    You should be aware that there is a flaw in V5.5. When compiling
    the system header file pthread.h or exc_handling.h with the /DEB
    qualifier, the compiler will crash. We hope to distribute a correction
    to this problem soon.

    So...if your customer does not use these header files (/DEB), he/she
    should upgrade to V5.5.  If the flaw in V5.5 might be a problem for 
    your customer, watch the DECC (TURRIS::DECC) notes file for information 
    on an update to V5.5.

    					Ed Vogel

    					DEC C