<!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>Uses of Interface com.ibm.dtfj.image.ImagePointer (Diagnostic Tool Framework for Java&amp;trade;)</title>
<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="Uses of Interface com.ibm.dtfj.image.ImagePointer (Diagnostic Tool Framework for Java&trade;)";
        }
    }
    catch(err) {
    }
//-->
</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><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">Class</a></li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/ibm/dtfj/image/class-use/ImagePointer.html" target="_top">Frames</a></li>
<li><a href="ImagePointer.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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Interface com.ibm.dtfj.image.ImagePointer" class="title">Uses of Interface<br>com.ibm.dtfj.image.ImagePointer</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
<caption><span>Packages that use <a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="#com.ibm.dtfj.image">com.ibm.dtfj.image</a></td>
<td class="colLast">
<div class="block">Classes to support reading system images.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#com.ibm.dtfj.java">com.ibm.dtfj.java</a></td>
<td class="colLast">
<div class="block">Classes to support Java&trade; runtime instances.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList"><a name="com.ibm.dtfj.image">
<!--   -->
</a>
<h3>Uses of <a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a> in <a href="../../../../../com/ibm/dtfj/image/package-summary.html">com.ibm.dtfj.image</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../com/ibm/dtfj/image/package-summary.html">com.ibm.dtfj.image</a> that return <a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">ImagePointer.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html#add-long-">add</a></span>(long&nbsp;offset)</code>
<div class="block">Build a new image pointer offset from this one by the given amount.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">ImageSymbol.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/ImageSymbol.html#getAddress--">getAddress</a></span>()</code>
<div class="block">Get the address of this symbol in the image.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">CorruptData.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/CorruptData.html#getAddress--">getAddress</a></span>()</code>
<div class="block">Return an address associated with the corruption.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">ImageSection.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/ImageSection.html#getBaseAddress--">getBaseAddress</a></span>()</code>
<div class="block">Gets the base address (the lowest) of memory in this section.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">ImageStackFrame.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/ImageStackFrame.html#getBasePointer--">getBasePointer</a></span>()</code>
<div class="block">Get the base pointer of the stack frame.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">MemoryAccessException.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/MemoryAccessException.html#getPointer--">getPointer</a></span>()</code>
<div class="block">Get a pointer into the image where the access failed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">ImageAddressSpace.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/ImageAddressSpace.html#getPointer-long-">getPointer</a></span>(long&nbsp;address)</code>
<div class="block">A factory method for creating pointers into this address space.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">ImagePointer.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html#getPointerAt-long-">getPointerAt</a></span>(long&nbsp;index)</code>
<div class="block">Get the value at the given offset from this pointer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">ImageStackFrame.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/ImageStackFrame.html#getProcedureAddress--">getProcedureAddress</a></span>()</code>
<div class="block">Get the address of the current instruction within
 the procedure being executed.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
<caption><span>Constructors in <a href="../../../../../com/ibm/dtfj/image/package-summary.html">com.ibm.dtfj.image</a> with parameters of type <a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/MemoryAccessException.html#MemoryAccessException-com.ibm.dtfj.image.ImagePointer-">MemoryAccessException</a></span>(<a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;badPointer)</code>
<div class="block">Build exception for the given location and description</div>
</td>
</tr>
<tr class="rowColor">
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/image/MemoryAccessException.html#MemoryAccessException-com.ibm.dtfj.image.ImagePointer-java.lang.String-">MemoryAccessException</a></span>(<a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;badPointer,
                     <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;description)</code>
<div class="block">Build exception for the given location and description</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="com.ibm.dtfj.java">
<!--   -->
</a>
<h3>Uses of <a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a> in <a href="../../../../../com/ibm/dtfj/java/package-summary.html">com.ibm.dtfj.java</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../com/ibm/dtfj/java/package-summary.html">com.ibm.dtfj.java</a> that return <a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">JavaLocation.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/java/JavaLocation.html#getAddress--">getAddress</a></span>()</code>
<div class="block">Fetches the absolute address of the code which this location represents.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">JavaStackFrame.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/java/JavaStackFrame.html#getBasePointer--">getBasePointer</a></span>()</code>
<div class="block">Get a pointer to the base of this stack frame</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">JavaVMOption.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/java/JavaVMOption.html#getExtraInfo--">getExtraInfo</a></span>()</code>
<div class="block">Fetch the extraInfo component of this option.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">JavaMonitor.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/java/JavaMonitor.html#getID--">getID</a></span>()</code>
<div class="block">Get the identifier for this monitor</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">JavaClass.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/java/JavaClass.html#getID--">getID</a></span>()</code>
<div class="block">The ID of a class is a pointer to a section of memory which identifies
 the class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">JavaObject.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/java/JavaObject.html#getID--">getID</a></span>()</code>
<div class="block">The ID of an object is a unique address is memory which identifies the object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">JavaRuntime.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/java/JavaRuntime.html#getJavaVM--">getJavaVM</a></span>()</code>
<div class="block">Get the object that represents the virtual machine</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></td>
<td class="colLast"><span class="typeNameLabel">JavaThread.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/java/JavaThread.html#getJNIEnv--">getJNIEnv</a></span>()</code>
<div class="block">Get the address of the JNIEnv structure which represents this thread instance in JNI.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../com/ibm/dtfj/java/package-summary.html">com.ibm.dtfj.java</a> with parameters of type <a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/ibm/dtfj/java/JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></td>
<td class="colLast"><span class="typeNameLabel">JavaRuntime.</span><code><span class="memberNameLink"><a href="../../../../../com/ibm/dtfj/java/JavaRuntime.html#getObjectAtAddress-com.ibm.dtfj.image.ImagePointer-">getObjectAtAddress</a></span>(<a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;address)</code>
<div class="block">Gets the object located at address <code>address</code> in the heap.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</li>
</ul>
</div>
<!-- ======= 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><a href="../../../../../com/ibm/dtfj/image/ImagePointer.html" title="interface in com.ibm.dtfj.image">Class</a></li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/ibm/dtfj/image/class-use/ImagePointer.html" target="_top">Frames</a></li>
<li><a href="ImagePointer.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>
<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>
