- 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
public abstract class ELFDumpReader extends Object implements ILibraryDependentCore
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
ELFDumpReader.LinuxThread
static class
ELFDumpReader.RegisterComparator
-
Field Summary
Fields Modifier and Type Field Description protected LinuxProcessAddressSpace
_process
protected ELFFileReader
_reader
protected ILibraryResolver
_resolver
static String[]
KNOWNLIBPATHS_DEFAULT_32
static String[]
KNOWNLIBPATHS_DEFAULT_64
static String
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.static String
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.-
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
Constructors Modifier Constructor Description protected
ELFDumpReader(ELFFileReader reader)
-
Method Summary
-
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
close, getAddressSpaces, getDumpFormat, getPlatform, getProperties, isTruncated
-
Methods declared in interface com.ibm.j9ddr.corereaders.ILibraryDependentCore
executablePathHint
-
-
-
-
Field Detail
-
USELOADEDLIBRARIES
public static final String 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:
- Constant Field Values
-
KNOWNLIBPATHS_PROPERTY
public static final String 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:
- Constant Field Values
-
KNOWNLIBPATHS_DEFAULT_32
public static final String[] KNOWNLIBPATHS_DEFAULT_32
-
KNOWNLIBPATHS_DEFAULT_64
public static final String[] KNOWNLIBPATHS_DEFAULT_64
-
_reader
protected final ELFFileReader _reader
-
_process
protected final LinuxProcessAddressSpace _process
-
_resolver
protected final ILibraryResolver _resolver
-
-
Constructor Detail
-
ELFDumpReader
protected ELFDumpReader(ELFFileReader reader) throws IOException, InvalidDumpFormatException
-
-
Method Detail
-
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
-
getCommandLine
public String getCommandLine() throws CorruptDataException
- Throws:
CorruptDataException
-
readUID
protected abstract long readUID() throws IOException
- Throws:
IOException
-
getProcessorType
protected abstract String getProcessorType()
-
readRegisters
protected abstract SortedMap<String,Number> readRegisters() throws IOException
- Throws:
IOException
-
getStackPointerRegisterName
protected abstract String getStackPointerRegisterName()
-
getInstructionPointerFrom
protected abstract long getInstructionPointerFrom(Map<String,Number> registers)
-
readHighwordRegisters
protected abstract void readHighwordRegisters(com.ibm.j9ddr.corereaders.elf.DataEntry entry, Map<String,Number> registers) throws IOException, InvalidDumpFormatException
-
getOffsetToIPFromBP
protected long getOffsetToIPFromBP()
-
getProcessorSubType
protected String getProcessorSubType()
-
readStringAt
public String readStringAt(long address) throws IOException
- Throws:
IOException
-
getExecutable
public IModule getExecutable() throws CorruptDataException
- Throws:
CorruptDataException
-
getModules
public List<? extends IModule> getModules() throws CorruptDataException
- Throws:
CorruptDataException
-
getProcessId
public long getProcessId()
-
getSignalNumber
public int getSignalNumber()
-
getDwarfRegisterKeys
protected abstract String[] getDwarfRegisterKeys()
-
maskInstructionPointer
protected long maskInstructionPointer(long pointer)
-
-