Class ELFDumpReader
java.lang.Object
com.ibm.j9ddr.corereaders.elf.ELFDumpReader
- All Implemented Interfaces:
ICore
,ILibraryDependentCore
- Direct Known Subclasses:
ELFAArch64DumpReader
,ELFAMD64DumpReader
,ELFARM32DumpReader
,ELFIA32DumpReader
,ELFPPC32DumpReader
,ELFPPC64DumpReader
,ELFRISCV64DumpReader
,ELFS39031DumpReader
,ELFS39064DumpReader
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
static class
-
Field Summary
Modifier and TypeFieldDescriptionprotected final LinuxProcessAddressSpace
protected final ELFFileReader
protected final ILibraryResolver
static final String[]
static final String[]
static final String
Setting this system property will cause the dump reader to retry searches for Linux libraries without fully qualified names by prepending the specified paths in turn.static final String
Setting this system property (to anything) will cause the dump reader to only search for libraries that are present in the core file because the process loaded them and not to use any that are separately on disk *OR* attached to the end of the core file by the diagnostics collector.Fields declared in interface com.ibm.j9ddr.corereaders.ICore
CORE_CREATE_TIME_PROPERTY, PROCESSOR_COUNT_PROPERTY, PROCESSOR_SUBTYPE_PROPERTY, PROCESSOR_TYPE_PROPERTY, SYSTEM_SUBTYPE_PROPERTY, SYSTEM_TYPE_PROPERTY
Fields declared in interface com.ibm.j9ddr.corereaders.ILibraryDependentCore
SYSTEM_PROP_EXE_PATH
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close the handle to the core file and release any resourcesvoid
executablePathHint
(String path) Give the core reader a hint to the location of the executable.protected abstract long
getBasePointerFrom
(Map<String, Number> registers) This is the dump format expressed as a string e.g. elf or xcoff.protected abstract String[]
static ELFDumpReader
getELFDumpReader
(ELFFileReader reader) static ELFDumpReader
getELFDumpReader
(File file) static ELFDumpReader
protected abstract long
getInstructionPointerFrom
(Map<String, Number> registers) protected abstract long
getLinkRegisterFrom
(Map<String, Number> registers) protected long
long
protected String
protected abstract String
int
protected long
getStackPointerFrom
(Map<String, Number> registers) protected abstract String
protected long
maskInstructionPointer
(long pointer) protected abstract void
readHighwordRegisters
(com.ibm.j9ddr.corereaders.elf.DataEntry entry, Map<String, Number> registers) readStringAt
(long address) protected abstract long
readUID()
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface com.ibm.j9ddr.corereaders.ICore
isTruncated
-
Field Details
-
USELOADEDLIBRARIES
Setting this system property (to anything) will cause the dump reader to only search for libraries that are present in the core file because the process loaded them and not to use any that are separately on disk *OR* attached to the end of the core file by the diagnostics collector. The system property name matches the field name, so it can be set with: -Dcom.ibm.j9ddr.corereaders.elf.ELFDumpReader.USELOADEDLIBRARIES=true at the command line.- See Also:
-
KNOWNLIBPATHS_PROPERTY
Setting this system property will cause the dump reader to retry searches for Linux libraries without fully qualified names by prepending the specified paths in turn. The search locations are the same as the original search, the libraries may be found on the local disk, appended to the core file or included in a jextracted zip file.- See Also:
-
KNOWNLIBPATHS_DEFAULT_32
-
KNOWNLIBPATHS_DEFAULT_64
-
_reader
-
_process
-
_resolver
-
-
Constructor Details
-
ELFDumpReader
-
-
Method Details
-
close
Description copied from interface:ICore
Close the handle to the core file and release any resources- Specified by:
close
in interfaceICore
- Throws:
IOException
-
getELFDumpReader
public static ELFDumpReader getELFDumpReader(ELFFileReader reader) throws IOException, InvalidDumpFormatException -
getELFDumpReader
public static ELFDumpReader getELFDumpReader(File file) throws IOException, InvalidDumpFormatException -
getELFDumpReader
public static ELFDumpReader getELFDumpReader(ImageInputStream in) throws IOException, InvalidDumpFormatException -
getAddressSpaces
- Specified by:
getAddressSpaces
in interfaceICore
- Returns:
- Address spaces held in this core dump
-
getDumpFormat
Description copied from interface:ICore
This is the dump format expressed as a string e.g. elf or xcoff. It is recommended that this name is in lower case.- Specified by:
getDumpFormat
in interfaceICore
- Returns:
-
getPlatform
- Specified by:
getPlatform
in interfaceICore
- Returns:
- Platform that created the dump
-
getProperties
- Specified by:
getProperties
in interfaceICore
- Returns:
- Property set for this core
-
getCommandLine
- Throws:
CorruptDataException
-
readUID
- Throws:
IOException
-
getProcessorType
-
readRegisters
- Throws:
IOException
-
getStackPointerRegisterName
-
getBasePointerFrom
-
getInstructionPointerFrom
-
getLinkRegisterFrom
-
readHighwordRegisters
protected abstract void readHighwordRegisters(com.ibm.j9ddr.corereaders.elf.DataEntry entry, Map<String, Number> registers) throws IOException, InvalidDumpFormatException -
getStackPointerFrom
-
getOffsetToIPFromBP
protected long getOffsetToIPFromBP() -
getProcessorSubType
-
readStringAt
- Throws:
IOException
-
getExecutable
- Throws:
CorruptDataException
-
getModules
- Throws:
CorruptDataException
-
getProcessId
public long getProcessId() -
getThreads
-
getSignalNumber
public int getSignalNumber() -
getDwarfRegisterKeys
-
maskInstructionPointer
protected long maskInstructionPointer(long pointer) -
executablePathHint
Description copied from interface:ILibraryDependentCore
Give the core reader a hint to the location of the executable. If it hasn't already found and loaded the libraries, may attempt to do so.- Specified by:
executablePathHint
in interfaceILibraryDependentCore
- Parameters:
path
-
-