BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
jimbarbour
Meteorite | Level 14

I'm trying out the new interactive debugger available in SAS EG 7.13.  I can't seem to set a break point.  I'm running as I say SAS EG 7.13 on a Windows 7 machine.  My SAS server is an AIX server running SAS 9.3 TS1M2 

 

Any time I try to set a break point, even on the line currently being executed in the debugger, I get the message: "line number N out of range for compiled source" (where "N" is the line number).  See code snippet below.

Debugger_Line_Out_of_Range.jpg

I can see by virtue of the yellow highlighting in the Debug display window that the program has stepped to line 65.  I get the message in the Debug Console "Stepped to lin 65 in column 3".  If however I press F9 (or use my mouse) to set a breakpoint, I get the message "Line number 65 out of range for compiled source."

 

I also can't get it to work with any program with an INPUT statement.

 

Has anyone else experienced this?  Is this just a 9.3 compatibility problem?  Do I just need to upgrade to 9.4?

 

Jim

1 ACCEPTED SOLUTION

Accepted Solutions
CaseySmith
SAS Employee

Jim,

 

Thanks for providing clear and easy steps to reproduce!  I am able to consistently reproduce with the steps you provided.  This looks to be an issue on the server side as I can also reproduce the problem in the DATA step debugger in Display Manager.  I'll enter a defect in our tracking system.

 

Thanks,

Casey


Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF

View now: on-demand content for SAS users

View solution in original post

7 REPLIES 7
CaseySmith
SAS Employee

Hi Jim,

 

Can you attach some example code that reproduces the problem for you?  We would like to try to reproduce.

 

Thanks,

Casey


Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF

View now: on-demand content for SAS users

jimbarbour
Meteorite | Level 14

Hi, Casey,

Yes, of course.  I'm in a series of meetings this morning, but I should be able to put something together late afternoon, West Coast time.  I'll try to use one of the SAS data sets that are shipped with SAS.

 

Jim

jimbarbour
Meteorite | Level 14

@CaseySmith, sorry to not get back to you sooner.   I noticed that the problem appeared to be intermittent.  I couldn't immediately identify what was causing it.  We also had a pretty big deadline last week.

 

Anyway, what causes SAS to issue the "the line out of range" error message in the debugger is the use of a macro variable on the DATA statement.  If you were to take a look at the little mini program, below, you'll see three versions of the DATA step.  

Setting break points works just fine if you either a) hard code the output SAS dataset or b) use DATA _NULL_.  If however one wishes to pass in the output SAS dataset name dynamically via a macro variable, the interactive debugger -- consistently -- does not permit one to set break points.

 

Perhaps this is expected behavior; I don't know.  It is however a bit limiting inasmuch as many of our programs use macrovariables in the DATA statement.

 

Thanks, 

 

Jim

 

/*-------------------------------------------------------------------------------------------------*/
/*  Program:  Debug_Tester
/*	Author:   Jim Barbour 
/*	Date:     19 December 2016
/*  Run Time: Less than 5 minutes.
/*	Remarks:  This program exists only to test the new SAS EG interactive debugger.
/*-------------------------------------------------------------------------------------------------*/

TITLE;

*--------------------------------------------------------------------------------------------------*;

%*LET	In_Obs		=	9;
%LET	In_Obs		=	MAX;

*						----+----1----+----2----+----3--;
%LET 	SAS_Data	=	Baseball;
%LET	Out_Data	=	Baseball_Los_Angeles_Only;

*--------------------------------------------------------------------------------------------------*;	

%LET	SAS_Lib		=	/sas/sas_9.4/install/SASFoundation/9.4/sashelp;		
%LET	Out_Lib		=	/work01/c10757a;

*--------------------------------------------------------------------------------------------------*;	

LIBNAME 	SAS_Lib		"&SAS_Lib";

LIBNAME 	Out_Lib		"&Out_Lib";		**	Output Library	**;

*-------------------------------------------------------------------------------------------------*;

PROC	OPTIONS	OPTION=WORK;
RUN;

*--------------------------------------------------------------------------------------------------*;	

/*DATA	_NULL_;*/
/*DATA	Out_Lib.Baseball_Los_Angeles_Only;*/
DATA	Out_Lib.&Out_Data;
SET		SAS_Lib.&SAS_Data
		(OBS=&In_Obs)
		END=End_of_File
		;

	IF	Team	=	"Los Angeles";
		
RUN;
CaseySmith
SAS Employee

Jim,

 

Thanks for providing clear and easy steps to reproduce!  I am able to consistently reproduce with the steps you provided.  This looks to be an issue on the server side as I can also reproduce the problem in the DATA step debugger in Display Manager.  I'll enter a defect in our tracking system.

 

Thanks,

Casey


Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF

View now: on-demand content for SAS users

jimbarbour
Meteorite | Level 14

@CaseySmith,

 

Thanks, Casey.  That's good news to me that this is not how the Debugger is designed to work.  It's very limiting to have to exclude macro variables from the data set names in a multi step program!

 

Would you like me to mark your reply as the resolution or should we await a true resolution re the tracking system?

 

Jim

CaseySmith
SAS Employee

@jimbarbour, I'd probably go ahead and mark it as the resolution, since it certainly appears to be a bug (and no telling if or when at this point there will be true resolution).  However, once the responsible developer has a chance to investigate in more detail, there may be more info I can share.  I'll try to followup if there are any significant updates for this issue in the tracking system.

 

Casey


Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF

View now: on-demand content for SAS users

jimbarbour
Meteorite | Level 14

@CaseySmith, consider it so marked.  

 

Please do follow up if this receives resolution.

 

Thanks!

 

Jim

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 7 replies
  • 2239 views
  • 3 likes
  • 2 in conversation