Module openj9.dtfj

Interface IImageProcessBuilder

All Known Implementing Classes:
ImageProcessBuilder

public interface IImageProcessBuilder
Factory for building a com.ibm.dtfj.image.ImageProcess
Each Image Process factory must have at least one Java runtime factory that builds JavaRuntime
Basic support for multiple java runtime factories is present.
  • Method Details

    • getCurrentJavaRuntimeBuilder

      IJavaRuntimeBuilder getCurrentJavaRuntimeBuilder()
      At least one java runtime factory must be associated with an image process factory. In multiple runtime environments, the last java runtime generated for this image process may be considered the current java runtime factory.
      Returns:
      current java runtime factory. Must never be null.
    • getJavaRuntimeBuilder

      IJavaRuntimeBuilder getJavaRuntimeBuilder(String builderID)
      Parameters:
      builderID - unique id that looks up a java runtime factory
      Returns:
      found java runtime factory, or null.
    • addLibrary

      ImageModule addLibrary(String name)
      Will add an com.ibm.dtfj.image.ImageModule for the specified library name. If the image module already exists, it will return the latter. A null library name returns a null ImageModule.
      Parameters:
      name - shared library to be added to the com.ibm.dtfj.image.ImageProcess being built by this image process factory.
      Returns:
      added/found ImageModule, or null if not added (if the library name isnull)
    • addImageThread

      ImageThread addImageThread(long nativeThreadID, long systemThreadID, Properties properties) throws BuilderFailureException
      Adds a com.ibm.dtfj.image.ImageThread to the Image process being built. If the arguments are invalid and a valid ImageThread cannot be constructed, error occurs.

      If the thread already exists, it will populate any missing data into the image thread, and return the latter.

      If the thread does not exist, it will create a new ImageThread and register it with the image process being built.
      Parameters:
      nativeThreadID -
      systemThreadID -
      properties -
      Returns:
      generated ImageThread. Must not be null. If a valid image thread cannot be created or found, throw exception.
      Throws:
      BuilderFailureException - if valid image thread was not created or found/updated.
    • addImageStackSection

      ImageSection addImageStackSection(ImageThread thread, ImageSection section)
      Adds a stack section to an image thread
      Parameters:
      thread -
      section - the area in memory used for the stack
      Returns:
    • addImageStackFrame

      ImageStackFrame addImageStackFrame(long nativeThreadID, String name, long baseAddress, long procAddress)
      Adds a stack frame to an image thread
      Parameters:
      nativeThreadID -
      name - of routine
      the - address of the frame
      the - address of the code
      Returns:
    • generateJavaRuntimeBuilder

      IJavaRuntimeBuilder generateJavaRuntimeBuilder(String id) throws BuilderFailureException
      Generates a new java runtime factory. If generation fails, an exception is thrown. If the java runtime factory already exists, it returns the latter.
      Parameters:
      id - unique id to identify a new java runtime factory to be generated
      Returns:
      generated java runtime factory.
      Throws:
      BuilderFailureException - if java runtime factory is not created.
    • setPointerSize

      void setPointerSize(int size)
      Valid values: 64, 32, or 31 (s390) bits.
      Parameters:
      pointer - size for this javacore. Usually parsed or computed from the data found in the javacore.
    • setSignal

      void setSignal(int signal)
      Set signal value if available in javacore.
      Parameters:
      generic - signal value.
    • setCommandLine

      void setCommandLine(String cmdLine)
      Set command line if available in javacore.
      Parameters:
      command - line string
    • setRegisters

      void setRegisters(Map regs)
      Set registers if available in javacore.
      Parameters:
      regs - Map of registers
    • addEnvironmentVariable

      void addEnvironmentVariable(String name, String value)
      Add environment variables
      Parameters:
      name -
      value -
    • addRoutine

      ImageSymbol addRoutine(ImageModule library, String name, long address)
      Add a routine to a module
      Parameters:
      library -
      name -
      address -
      Returns:
    • setExecutable

      void setExecutable(ImageModule execMod)
      Sets the module as the process executable
      Parameters:
      execMod -
    • setID

      void setID(String pid)
      Sets the id of the process
      Parameters:
      pid - String
    • setCurrentThreadID

      void setCurrentThreadID(long imageThreadID)
      Sets the current thread
      Parameters:
      imageThreadID -
    • addProperty

      void addProperty(ImageModule library, String name, String value)
      Adds/updates a property for the library
      Parameters:
      library - the module
      name - the property name
      value - the property value