ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/unix4.htm

125 lines
5.5 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Problem Determination APIs</title>
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Begin Header Records ========================================= -->
<!-- NETMG2 SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 29 Jan 1999 at 10:01:37 -->
<!-- File Edited December 2001 -->
<!-- 031112 JETAYLOR replaced API and/or Exit listings with -->
<!-- pagegenerator output from javascript array -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>Problem Determination APIs</h2>
<p>The problem determination APIs are:</p>
<!-- ***** NOTE ***** Do not manually update text or links in this section. -->
<!-- Updates made in this section *will* be overlaid by automated tools -->
<!-- Notify User Technologies of needed updates to be made in XML for API finder.-->
<!--***************API BEGIN PASTE***************-->
<ul>
<li><A HREF="p0zdmp.htm">Qp0zDump()</A> (Dump formatted storage trace data) dumps the user storage specified by area to the user trace.</li>
<li><A HREF="p0zdmps.htm">Qp0zDumpStack()</A> (Dump formatted stack trace data) dumps a formatted representation of the call stack of the calling thread to the user trace.</li>
<li><A HREF="p0zdmpt.htm">Qp0zDumpTargetStack()</A> (Dump formatted stack trace data of the target thread) dumps a formatted representation of the call stack of the target thread to the user trace.</li>
<li><A HREF="p0zlog.htm">Qp0zLprintf()</A> (Print formatted job log data) prints user data specified by format-string as an information message type to the job log.</li>
<li><A HREF="p0zprnt.htm">Qp0zUprintf()</A> (Print formatted user trace data) prints user data specified by the format-string parameter to the user trace.</li>
</ul>
<!--***************API END PASTE***************-->
<p><strong>Note:</strong> These functions use header (include) files from the
library QSYSINC, which is optionally installable. Make sure QSYSINC is
installed on your system before using any of the functions. See <a href=
"unix13.htm">Header Files for UNIX-Type Functions</a> for the file and member
name of each header file.</p>
<p>The problem determination APIs are intended to be used as an aid in
debugging exception or error conditions in application programs. These
functions should not be used in performance critical code.</p>
<p>These functions can be used during application development, as well as after
the application is made available, as debug mechanisms. For example, one of the
following methods could be used:</p>
<ul>
<li>Use a compile option that activates the problem determination functions
during application development. When the application is ready to be made
available, recompile to deactivate the functions.<br>
<br>
</li>
<li>Design a method to (quickly) check and see whether application problem
determination is desired, as well as an external method to activate application
problem determination. Then, use the problem determination functions in such a
manner as to check (at run time) whether or not the functions should be
called.</li>
</ul>
<p>Some of the problem determination functions dump or print to the user trace.
The user trace is a permanent user space object named <em>
QP0Z&lt;jobnumber&gt;</em> in the QUSRSYS library. The user trace is created
the first time any thread in a job writes trace output. The following CL
commands can be used to manipulate the user trace properties and objects:</p>
<ul>
<li>Change User Trace (CHGUSRTRC) can be used to change the characteristics of
the user trace.<br>
<br>
</li>
<li>Dump User Trace (DMPUSRTRC) can be used to dump trace records to a file or
to standard output.<br>
<br>
</li>
<li>Delete User Trace (DLTUSRTRC) can be used to delete the user trace
objects.</li>
</ul>
<p>For those problem determination functions that use the user trace, the
following should be considered:</p>
<ul>
<li>The functions require no authority to the user trace object. See CL
commands CHGUSRTRC, DMPUSRTRC, and DLTUSRTRC for the authority required to
administer, display, or modify tracing information using the CL commands.<br>
<br>
</li>
<li>No locks are held on the user trace between calls to the tracing functions.
The user trace can be deleted while in use. The next function that produces
trace output will create the user trace again.<br>
<br>
</li>
<li>If another job on the system has the same job number as an existing user
trace, the existing trace data is cleared, and the trace data from the new job
replaces it.</li>
</ul>
<hr>
<table cellpadding="2" cellspacing="2" align="center">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> |
<a href="unix.htm">UNIX-Type APIs</a> |
<a href="aplist.htm">APIs by category</a> </td>
</tr>
</table>
</body>
</html>