ScriptedPlatform#

classlldb.plugins.scripted_platform.ScriptedPlatform(exe_ctx, args)#

The base class for a scripted platform.

Most of the base class methods are @abstractmethod that need to be overwritten by the inheriting class.

Attributes Summary

Methods Summary

attach_to_process(attach_info)

Attach to a process.

get_process_info(pid)

Get the dictionary describing the process.

kill_process(pid)

Kill a process.

launch_process(launch_info)

Launch a process.

list_processes()

Get a list of processes that are running or that can be attached to on the platform.

Attributes Documentation

processes=None#

Methods Documentation

abstractattach_to_process(attach_info)#

Attach to a process.

Args:

attach_info (lldb.SBAttachInfo): The information related to attach to a process.

Returns:

lldb.SBError: A status object notifying if the attach succeeded.

get_process_info(pid)#

Get the dictionary describing the process.

Returns:

Dict: The dictionary of process info that matched process ID. None if the process doesn’t exists

abstractkill_process(pid)#

Kill a process.

Args:

pid (int): Process ID for the process to be killed.

Returns:

lldb.SBError: A status object notifying if the shutdown succeeded.

abstractlaunch_process(launch_info)#

Launch a process.

Args:

launch_info (lldb.SBLaunchInfo): The information related to the process launch.

Returns:

lldb.SBError: A status object notifying if the launch succeeded.

abstractlist_processes()#

Get a list of processes that are running or that can be attached to on the platform.

processes = {
 420: {
 name: a.out,
 arch: aarch64,
 pid: 420,
 parent_pid: 42 (optional),
 uid: 0 (optional),
 gid: 0 (optional),
 },
}
Returns:
Dict: The processes represented as a dictionary, with at least the

process ID, name, architecture. Optionally, the user can also provide the parent process ID and the user and group IDs. The dictionary can be empty.