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
Nested ClassesModifier and TypeClassDescriptionprotected classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final LinuxProcessAddressSpaceprotected final ELFFileReaderprotected final ILibraryResolverstatic final String[]static final String[]static final StringSetting 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 StringSetting 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_PROPERTYFields declared in interface com.ibm.j9ddr.corereaders.ILibraryDependentCore
SYSTEM_PROP_EXE_PATH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the handle to the core file and release any resourcesvoidexecutablePathHint(String path) Give the core reader a hint to the location of the executable.protected abstract longgetBasePointerFrom(Map<String, Number> registers) This is the dump format expressed as a string e.g. elf or xcoff.protected abstract String[]static ELFDumpReadergetELFDumpReader(ELFFileReader reader) static ELFDumpReadergetELFDumpReader(File file) static ELFDumpReaderprotected abstract longgetInstructionPointerFrom(Map<String, Number> registers) protected abstract longgetLinkRegisterFrom(Map<String, Number> registers) protected longlongprotected Stringprotected abstract Stringintprotected longgetStackPointerFrom(Map<String, Number> registers) protected abstract Stringprotected longmaskInstructionPointer(long pointer) protected abstract voidreadHighwordRegisters(com.ibm.j9ddr.corereaders.elf.DataEntry entry, Map<String, Number> registers) readStringAt(long address) protected abstract longreadUID()Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:ICoreClose the handle to the core file and release any resources- Specified by:
closein 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:
getAddressSpacesin interfaceICore- Returns:
- Address spaces held in this core dump
-
getDumpFormat
Description copied from interface:ICoreThis 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:
getDumpFormatin interfaceICore- Returns:
-
getPlatform
- Specified by:
getPlatformin interfaceICore- Returns:
- Platform that created the dump
-
getProperties
- Specified by:
getPropertiesin 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:ILibraryDependentCoreGive 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:
executablePathHintin interfaceILibraryDependentCore- Parameters:
path-
-