Package ghidra.program.util

# Class ProgramUtilities

java.lang.Object
ghidra.program.util.ProgramUtilities

public class ProgramUtilities extends Object
General utility class that provides convenience methods to deal with Program objects.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `addTrackedProgram(Program program)`
  Programs will only be stored during testing and are maintained as weak references.
  `static void`
  `convertFunctionWrappedExternalPointer(Symbol functionSymbol)`
  Convert old function wrapped external pointers.
  `static String`
  `getByteCodeString(CodeUnit cu)`
  Get the bytes associated with the specified code unit cu formatted as a string.
  `static DataConverter`
  `getDataConverter(Program program)`
  `static Iterator<Program>`
  `getSystemPrograms()`
  Returns an iterator for all of the `Program` objects in the system, which is all created programs in any state that have not been garbage collected.
  `static Address`
  `parseAddress(Program program, String addressString)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### getDataConverter

    public static DataConverter getDataConverter(Program program)

  - ### addTrackedProgram

    public static void addTrackedProgram(Program program)
    Programs will only be stored during testing and are maintained as weak references.
    Parameters:
      `program` - The program that is being tracked (all programs during testing.

  - ### getSystemPrograms

    public static Iterator<Program> getSystemPrograms()
    Returns an iterator for all of the `Program` objects in the system, which is all created programs in any state that have not been garbage collected.

    Note:The Iterator is backed by an unmodifiable set, so any attempts to modify the Iterator will throw an `UnsupportedOperationException`.

    Returns:
      an iterator for all of the programs in the system

  - ### parseAddress

    public static Address parseAddress(Program program, String addressString)

  - ### getByteCodeString

    public static String getByteCodeString(CodeUnit cu)
    Get the bytes associated with the specified code unit cu formatted as a string. Bytes will be returned as 2-digit hex separated with a space. Any undefined bytes will be represented by "??".
    Parameters:
      `cu` - code unit
    Returns:
      formatted byte string

  - ### convertFunctionWrappedExternalPointer

    public static void convertFunctionWrappedExternalPointer(Symbol functionSymbol)
    Convert old function wrapped external pointers. Migrate function to external function.