java.lang.Object
com.ibm.dtfj.image.javacore.JCImageThread
- All Implemented Interfaces:
ImageThread
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addImageStackFrame
(ImageStackFrame stackFrame) NOT in DTFJvoid
addImageStackSection
(ImageSection stackSection) NOT in DTFJ Add a stack section for this thread.void
addProperty
(Object key, Object value) void
addRegister
(ImageRegister reg) NOT in DTFJgetID()
Fetch a unique identifier for the thread.NON-DTFJ.Get the OS-specific properties for this thread.Get the register contents.Not available in javacoreGet the set of image sections which make up the stack.NON-DTFJ.void
setSystemThreadID
(ImagePointer systemThreadID) NON-DTFJ.
-
Constructor Details
-
JCImageThread
- Parameters:
nativeThreadID
-- Throws:
JCInvalidArgumentsException
-
-
Method Details
-
getID
Description copied from interface:ImageThread
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()- Specified by:
getID
in interfaceImageThread
- Returns:
- a process-wide identifier for the thread (e.g. a tid number)
- Throws:
CorruptDataException
-
getProperties
Description copied from interface:ImageThread
Get the OS-specific properties for this thread.- Specified by:
getProperties
in interfaceImageThread
- Returns:
- a table of OS-specific properties for this thread.
Values which are commonly available include
- "priority" -- the priority of the thread
- "policy" -- the scheduling policy of the thread
-
addProperty
- Parameters:
key
-value
-
-
getRegisters
Description copied from interface:ImageThread
Get the register contents.- Specified by:
getRegisters
in interfaceImageThread
- Returns:
- 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
- See Also:
-
getStackSections
Description copied from interface:ImageThread
Get the set of image sections which make up the stack.- Specified by:
getStackSections
in interfaceImageThread
- Returns:
- 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
- See Also:
-
getStackFrames
Not available in javacore- Specified by:
getStackFrames
in interfaceImageThread
- Returns:
- 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.
- Throws:
DataUnavailable
- If native stack frames are not available on this platform- See Also:
-
addImageStackFrame
NOT in DTFJ- Parameters:
stackFrame
-
-
addImageStackSection
NOT in DTFJ Add a stack section for this thread. Duplicates are not removed. Do NOT use this outside the building process.- Parameters:
stackSection
-
-
getInternalID
NON-DTFJ. Used internally as it bypasses the exception, since due to internal implementation, an exception thrown when the id is not set does not necessarily mean an internal building error. Do NOT use this outside the building process. -
setSystemThreadID
NON-DTFJ. For building purposes only. Don't use as part of DTFJ.- Parameters:
systemThreadID
-
-
getSystemThreadID
NON-DTFJ. For building purposes only. Don't use as part of DTFJ.- Returns:
- system thread id or null if not set.
-
addRegister
NOT in DTFJ- Parameters:
reg
- register
-