Chapter Contents

Previous

Next
Service and Support from SAS

SAS/C Technical Support Service

The SAS/C Compiler Research and Development Division provides technical support for the compiler products. We strongly believe that having technical support integrated within the Compiler R&D division ensures that our customers receive support of the highest quality in the industry. SAS/C Technical Support services are provided free of charge to licensed customers.

When contacting the SAS Technical Support Division by phone, identify the question or problem as related to the SAS/C Compiler. SAS/C Technical Support consultants are available weekdays between 9:00 AM and 5:00 PM., eastern standard time.

Guidelines for reporting problems and for gathering information that may be requested by a SAS/C Support Consultant follow.


When to Call Technical Support

Some problem types and their symptoms are listed below.

Contact the local Support Consultant prior to contacting SAS/C Technical Support. The Support Consultant may be able to quickly resolve a problem. But where assistance is required, the Support Consultant may contact SAS/C Technical Support.


Information Needed by Technical Support

Provide the following information to the Support Consultant before he or she calls to report a SAS/C problem:


Collecting Diagnostic Information

There are many diagnostic features within the compiler and run-time library to assist in the isolation of problems, and having this information handy saves time during consultations with Technical Support. The sections below tell you how to enable compiler, linker, and run-time diagnostics.

Isolating Code Generation or Compiler Problems


Isolating Link Problems

Unresolved external references are the most common problems related to the COOL, ILCLINK, or LKED programs. For all link problems, the following information is required:

Problems reported as link errors sometimes result from source code or compiler details. You should have a detailed knowledge of the source code that generated the input OBJECTS or LOAD MODULEs, and be prepared to discuss the source code and its compilation with a SAS/C Support Consultant.

Isolating Run-time Problems


Reading a SAS/C Library Traceback

The traceback feature is extremely helpful for isolating the location of an ABEND. Often the traceback contains the exact line that caused the abnormal behavior. Additionally, the traceback shows the calling sequence of active functions, line numbers, and offsets, at the time of the error conditions. A typical ABEND traceback is shown below, with line numbers added for purposes of reference.

Calling trace:
       Function        Line  Offset  Context
12   LSCABTM(LSCABTM)   --­­  000124
11  SIGROUT(LSCZRTE)   --­­  000228  Raising signal SIGABRT
10   SIGLDR(LSCZLDR)   --­­  00007A
 9    RAISE(LSCZGEN)   --­­  00008E
 8    ABORT(LSCABRT)   --­­  000052
 7    CXERR(FILE1)      865  000152
 6   REPDEL(TASN)       974  0000B2
 5     TREF(TASN)       297  00006C
 4     RVFQ(TASN)       214  0001EE
 3    WTHDR(WTHDR)      149  0003A4
 2   DYNAMN(MAIN1)      366  0009D2
 1     MAIN(LC1370S)     68  000128

Line 1 indicates that function main() of the C MAIN program, in source file lc1370s , executed a call to function wthdr() at line number 68 and offset 000128. The function call forced SAS/C dynamic loading to occur and subsequently a call to wthdr() .

Line 2 indicates that a function dynamn() in source file main1 , at line 366 and offset 0009d2, called the function wthdr() .

Lines 3-5 illustrate the calling sequence for functions on the stack. The line numbers and offsets show where function calls were made.

Line 6 indicates that an error probably occured at line 974 of function repdel() in source file tasn . repdel() called cxerr() to generate an ABEND and subsequent compiler messages for a CXERR condition.

Lines 7-12 show the sequence of SAS/C Library functions that get invoked when the function abort() is called within a C program.


Submitting Diagnostic Information to SAS/C Technical Support

The previous sections have explained how to obtain detailed descriptive information about a SAS/C problem. Sometimes this is not sufficient. If you contact SAS/C Technical Support, the consultant may request additional information about your problem. Additional information that is often requested and how to obtain it are described below.

  1. Source code showing function calls, parameter lists, and so on.

  2. Compiler and linkedit listings and maps.

  3. Logs of program execution generated with the =warning and =btrace run-time options enabled. Commands for capturing execution logs are

  4. A system ABEND traceback dump.

    On OS/390 BATCH, issue //SYSDUMP DD or //SYSMDUMP DD.

    Note:    If Abend-AID (a dump formatting utility) is installed at your site, turn it off for this job by adding the following statement to your execution JCL: //ABNLIGNR DD DUMMY . But first, check with your systems programmer to ensure that your site does not use a different mechanism for turning off Abend-AID.   [cautionend]

    On OS/390 TSO, allocate a SYSUDUMP or SYSABEND data set, then execute the program with the problem.

    On VM CMS, obtain dumps for program exceptions or library-produced abends by doing the following:

See Chapter 5 for instructions on how to get requested information to SAS/C Technical Support.


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.