• JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
  • JoomlaWorks AJAX Header Rotator
Debugging parts of macro code PDF Print E-mail
SAS Tip #138

There are a range of options which are useful to use when debugging macros. An easy way to use these options on a particular part of macro code is to use the DEBUGON macro (below). This will turn on the useful options while saving the current values of the options it is changing. You can then use DEBUGOFF to restore the original values of those options when you have finished debugging.

Debugon

%macro debugon ;
  %global save_option_mprint save_option_mprintnest save_option_symbolgen 
save_option_mlogic save_option_source save_option_source2 ;
  %let save_option_mprint=%sysfunc(getoption(mprint)) ;
  %let save_option_mprintnest=%sysfunc(getoption(mprintnest)) ;
  %let save_option_symbolgen=%sysfunc(getoption(symbolgen)) ;
  %let save_option_mlogic=%sysfunc(getoption(mlogic)) ;
  %let save_option_source=%sysfunc(getoption(source)) ;
  %let save_option_source2=%sysfunc(getoption(source2)) ;
  options mprint source source2 mlogic symbolgen mprintnest ;
  %let ERROR-======================> DEBUGON <====================== ;
  %put _user_ ;
  %put ERROR-======================> DEBUGON <====================== ;
%mend debugon ;

Debugoff

%macro debugoff ;
  %put ERROR-======================> DEBUGOFF <====================== ;
  %put _global_ ;
  %put ERROR-======================> DEBUGOFF <====================== ;
  proc sql noprint ;
    select value into :saved_options separated by ' ' from dictionary.macros 
where name like 'SAVE_OPTION_%' ;
  quit ;
  %put saved_options=&saved_options ;
  options &saved_options ;
%mend debugoff ;

Sample Code

%my_first_macro ;
%debugon ;
%my_complex_macro ;
%debugoff ;
%my_other_macro ;

Tested under SAS 9.1.3 SP4 using Windows XP Professional
Wood Street Consultants Ltd. | tips AT woodstreet.org.uk | www.woodstreet.org.uk

Last Updated ( Thursday, 12 October 2006 )