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 Detail

      • 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