blob: 8235806a7c1fad65e2a98e964b5bb4ed6fcbe2f9 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ImageThread (Diagnostic Tool Framework for Java&amp;trade;)</title>
<meta name="keywords" content="com.ibm.dtfj.image.ImageThread interface">
<meta name="keywords" content="getID()">
<meta name="keywords" content="getStackFrames()">
<meta name="keywords" content="getStackSections()">
<meta name="keywords" content="getRegisters()">
<meta name="keywords" content="getProperties()">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ImageThread (Diagnostic Tool Framework for Java&trade;)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ImageThread.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><strong>Diagnostic Tool Framework for Java&trade;</strong></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/ibm/dtfj/image/ImageSymbol.html" title="interface in com.ibm.dtfj.image"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/ibm/dtfj/image/MemoryAccessException.html" title="class in com.ibm.dtfj.image"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/ibm/dtfj/image/ImageThread.html" target="_top">Frames</a></li>
<li><a href="ImageThread.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.ibm.dtfj.image</div>
<h2 title="Interface ImageThread" class="title">Interface ImageThread</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ImageThread</span></pre>
<div class="block">Represents a native operating system thread.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" target="_blank" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/ibm/dtfj/image/ImageThread.html#getID--">getID</a></span>()</code>
<div class="block">Fetch a unique identifier for the thread.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" target="_blank" title="class or interface in java.util">Properties</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/ibm/dtfj/image/ImageThread.html#getProperties--">getProperties</a></span>()</code>
<div class="block">Get the OS-specific properties for this thread.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" target="_blank" title="class or interface in java.util">Iterator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/ibm/dtfj/image/ImageThread.html#getRegisters--">getRegisters</a></span>()</code>
<div class="block">Get the register contents.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" target="_blank" title="class or interface in java.util">Iterator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/ibm/dtfj/image/ImageThread.html#getStackFrames--">getStackFrames</a></span>()</code>
<div class="block">Get the set of stack frames on this thread.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" target="_blank" title="class or interface in java.util">Iterator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/ibm/dtfj/image/ImageThread.html#getStackSections--">getStackSections</a></span>()</code>
<div class="block">Get the set of image sections which make up the stack.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getID--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getID</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" target="_blank" title="class or interface in java.lang">String</a>&nbsp;getID()
throws <a href="../../../../com/ibm/dtfj/image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">Fetch a unique identifier for the thread.
In many operating systems, threads have more than one identifier (e.g.
a thread id, a handle, a pointer to VM structures associated with the thread).
In this case, one of these identifiers will be chosen as the canonical
one. The other identifiers would be returned by getProperties()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a process-wide identifier for the thread (e.g. a tid number)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../com/ibm/dtfj/image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a name="getStackFrames--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStackFrames</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" target="_blank" title="class or interface in java.util">Iterator</a>&nbsp;getStackFrames()
throws <a href="../../../../com/ibm/dtfj/image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></pre>
<div class="block">Get the set of stack frames on this thread.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator to walk the native stack frames in order from
top-of-stack (that is, the most recent frame) to bottom-of-stack. Throws
DataUnavailable if native stack frames are not available on this platform.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../com/ibm/dtfj/image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code> - If native stack frames are not available on this platform</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/ibm/dtfj/image/ImageStackFrame.html" title="interface in com.ibm.dtfj.image"><code>ImageStackFrame</code></a>,
<a href="../../../../com/ibm/dtfj/image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</li>
</ul>
<a name="getStackSections--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStackSections</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" target="_blank" title="class or interface in java.util">Iterator</a>&nbsp;getStackSections()</pre>
<div class="block">Get the set of image sections which make up the stack.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a collection of ImageSections which make up the stack. On
most platforms this consists of a single entry, but on some platforms
the thread's stack may consist of non-contiguous sections</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/ibm/dtfj/image/ImageSection.html" title="interface in com.ibm.dtfj.image"><code>ImageSection</code></a>,
<a href="../../../../com/ibm/dtfj/image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</li>
</ul>
<a name="getRegisters--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegisters</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" target="_blank" title="class or interface in java.util">Iterator</a>&nbsp;getRegisters()</pre>
<div class="block">Get the register contents.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator to iterate over the state of the CPU registers
when the image was created. The collection may be empty if the register
state is not available for this thread.
If the CPU supports partial registers (e.g. AH, AL, AX, EAX, RAX on
AMD64), only the largest version of the register will be included</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../com/ibm/dtfj/image/ImageRegister.html" title="interface in com.ibm.dtfj.image"><code>ImageRegister</code></a></dd>
</dl>
</li>
</ul>
<a name="getProperties--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getProperties</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" target="_blank" title="class or interface in java.util">Properties</a>&nbsp;getProperties()</pre>
<div class="block">Get the OS-specific properties for this thread.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a table of OS-specific properties for this thread.
Values which are commonly available include
<ul>
<li>"priority" -- the priority of the thread</li>
<li>"policy" -- the scheduling policy of the thread</li>
</ul></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ImageThread.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><strong>Diagnostic Tool Framework for Java&trade;</strong></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/ibm/dtfj/image/ImageSymbol.html" title="interface in com.ibm.dtfj.image"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/ibm/dtfj/image/MemoryAccessException.html" title="class in com.ibm.dtfj.image"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/ibm/dtfj/image/ImageThread.html" target="_top">Frames</a></li>
<li><a href="ImageThread.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse-openj9/openj9/issues" target="_blank">Eclipse OpenJ9 issue.</a><br> Copyright &copy; 2004, 2021, IBM Corp. and others.</small></p>
</body>
</html>