Most of the commands used to service jobs were not changed to support multithreaded processes. Therefore, the existing commands will continue to operate against the job and not individual threads within the job.
The following commands were enhanced to report thread-related data:
The Dump Job command now dumps all threads within a job. The thread-related data is available though use of the JOBTHD parameter on the command. The following example shows how to obtain a multithreaded job dump that contains the thread-related data:
STRSRVJOB JOB(000000/USER/JOBNAME) DMPJOB PGM(*NONE) JOBARA(*NONE) ADROBJ(*NO) JOBTHD(*THDSTK) ENDSRVJOB
The Start Trace command allows you either to trace all threads within a multithreaded job or to specify up to 20 specific threads to be traced in a multithreaded job. The thread identifier is included in each trace record to indicate the thread that caused the record to be entered into the log. The following example shows how to obtain a trace for a multithreaded job:
STRTRC SSNID(MYSSNID) JOB((000000/USERNAME/JOBNAME (*ALL))) ... tracing the job ENDTRC SSNID(MYSSNID) DTALIB(MYLIB) PRTTRC(*YES)
The following example shows how to obtain a trace for specified threads in a multithreaded job:
STRTRC SSNID(MYSSNID) JOB((000000/USERNAME/JOBNAME (00000001 00000002 00000003))) ... tracing the job ENDTRC SSNID(MYSSNID) DTALIB(MYLIB) PRTTRC(*YES)
FFDC is a function that you can use in your program, service program, or module to report a problem for an authorized program analysis report (APAR). FFDC logs the problem, builds a symptom string, and collects problem analysis data.
FFDC is not fully functional when used in a multithreaded program. When it is called in a multithreaded program, FFDC provides partial support that includes:
FFDC support for object dumping, problem entry creation, or data collection for problem determination is not provided within a multithreaded job.