Class

FoundryDebugger

Description [src]

abstract class Foundry.Debugger : Foundry.Contextual
  implements Json.Serializable {
  /* No available fields */
}

Abstract base class for debugger implementations.

FoundryDebugger provides the core interface for debugging operations including breakpoint management, variable inspection, and execution control. Concrete implementations handle specific debugging protocols and backends while maintaining a consistent API.

Hierarchy

hierarchy this FoundryDebugger implements_0 JsonSerializable this--implements_0 ancestor_0 FoundryContextual ancestor_0--this ancestor_1 GObject ancestor_1--ancestor_0

Descendants

Implements

Instance methods

foundry_debugger_can_move

Determines of the debugger can currently make movement.

deprecated: 1.1 

foundry_debugger_disassemble

Disassemble the instructions found in the address range.

foundry_debugger_dup_name

Gets a name for the provider that is expected to be displayed to users such as “GNU Debugger”.

foundry_debugger_dup_primary_thread

Gets a copy of the primary thread (the first thread created by the debugger).

unstable since: 1.1

foundry_debugger_emit_event

This should only be used by debugger implementations.

foundry_debugger_has_terminated
No description available.

foundry_debugger_initialize

This must be called before using the debugger instance and may only be called once.

foundry_debugger_interpret

Requests that the debugger interpret a command. This is typically the REPL of a debugger and can be used to bridge the normal interpreter of a debugger to the the user.

foundry_debugger_interrupt

This should cause the child process to pause.

deprecated: 1.1 

foundry_debugger_list_address_space

Gets a GListModel of FoundryDebuggerMappedRegion that is updated based on the address mapping of the debuggee.

foundry_debugger_list_log_messages

Lists available log messages from the debugger instance.

unstable since: 1.1

foundry_debugger_list_modules

Lists the known modules loaded into the address space.

foundry_debugger_list_thread_groups

List thread groups known to the debugger.

foundry_debugger_list_threads

List threads known to the debugger.

foundry_debugger_list_traps

List known traps (breakpoints, countpoints, watchpoints) that have been registered with the debugger.

foundry_debugger_move

Use foundry_debugger_thread_move() in new code.

deprecated: 1.1 

foundry_debugger_send_signal

Send signal signum to debuggee.

foundry_debugger_stop

Stop the debugger fully. This should at least cause the inferior to be sent a terminating signal.

foundry_debugger_trap

Register a new breakpoint based on params.

Methods inherited from FoundryContextual (4)
foundry_contextual_acquire

This method provides a checked way to get a context for the contextual.

unstable since: 1.1

foundry_contextual_dup_context

Gets the FoundryContext that self is a part of while safely increasing the reference count of the resulting FoundryContext by 1.

foundry_contextual_inhibit

Creates a new FoundryInhibitor that will keep the FoundryContext alive and prevent shutdown until foundry_inhibitor_uninhibit() is called or the FoundryInhibitor is finalized, whichever comes first.

foundry_contextual_log
No description available.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Methods inherited from JsonSerializable (8)
json_serializable_default_deserialize_property

Calls the default implementation of the Json.SerializableIface.deserialize_property virtual function.

json_serializable_default_serialize_property

Calls the default implementation of the Json.SerializableIface.serialize_property virtual function.

json_serializable_deserialize_property

Asks a JsonSerializable implementation to deserialize the property contained inside property_node and place its value into value.

json_serializable_find_property

Calls the Json.SerializableIface.find_property implementation on the JsonSerializable instance, which will return the property description for the given name.

json_serializable_get_property

Calls the Json.SerializableIface.get_property implementation on the JsonSerializable instance, which will get the value of the given property.

json_serializable_list_properties

Calls the Json.SerializableIface.list_properties implementation on the JsonSerializable instance, which will return the list of serializable properties.

json_serializable_serialize_property

Asks a JsonSerializable implementation to serialize an object property into a JSON node.

json_serializable_set_property

Calls the Json.SerializableIface.set_property implementation on the JsonSerializable instance, which will set the property with the given value.

Properties

Foundry.Debugger:address-space
No description available.

Foundry.Debugger:log-messages
No description available.

Foundry.Debugger:modules
No description available.

Foundry.Debugger:primary-thread

The first thread that was created by the debugger.

unstable since: 1.1

Foundry.Debugger:terminated

If the debuggee has terminated.

unstable since: 1.1

Foundry.Debugger:threads
No description available.

unstable since: 1.1

Foundry.Debugger:traps
No description available.

Properties inherited from FoundryContextual (1)
Foundry.Contextual:context
No description available.

Signals

Foundry.Debugger::event
No description available.

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct FoundryDebuggerClass {
  FoundryContextualClass parent_class;
  char* (* dup_name) (
    FoundryDebugger* self
  );
  DexFuture* (* initialize) (
    FoundryDebugger* self
  );
  DexFuture* (* connect_to_target) (
    FoundryDebugger* self,
    FoundryDebuggerTarget* target
  );
  GListModel* (* list_address_space) (
    FoundryDebugger* self
  );
  GListModel* (* list_modules) (
    FoundryDebugger* self
  );
  GListModel* (* list_traps) (
    FoundryDebugger* self
  );
  GListModel* (* list_threads) (
    FoundryDebugger* self
  );
  GListModel* (* list_thread_groups) (
    FoundryDebugger* self
  );
  DexFuture* (* disassemble) (
    FoundryDebugger* self,
    guint64 begin_address,
    guint64 end_address
  );
  DexFuture* (* interpret) (
    FoundryDebugger* self,
    const char* command
  );
  DexFuture* (* interrupt) (
    FoundryDebugger* self
  );
  DexFuture* (* stop) (
    FoundryDebugger* self
  );
  DexFuture* (* send_signal) (
    FoundryDebugger* self,
    int signum
  );
  DexFuture* (* move) (
    FoundryDebugger* self,
    FoundryDebuggerMovement movement
  );
  DexFuture* (* trap) (
    FoundryDebugger* self,
    FoundryDebuggerTrapParams* params
  );
  gboolean (* can_move) (
    FoundryDebugger* self,
    FoundryDebuggerMovement movement
  );
  void (* event) (
    FoundryDebugger* self,
    FoundryDebuggerEvent* event
  );
  GListModel* (* list_log_messages) (
    FoundryDebugger* self
  );
  FoundryDebuggerThread* (* dup_primary_thread) (
    FoundryDebugger* self
  );
  gboolean (* has_terminated) (
    FoundryDebugger* self
  );
  
}

No description available.

Class members
parent_class: FoundryContextualClass

No description available.

dup_name: char* (* dup_name) ( FoundryDebugger* self )

No description available.

initialize: DexFuture* (* initialize) ( FoundryDebugger* self )

No description available.

connect_to_target: DexFuture* (* connect_to_target) ( FoundryDebugger* self, FoundryDebuggerTarget* target )

No description available.

list_address_space: GListModel* (* list_address_space) ( FoundryDebugger* self )

No description available.

list_modules: GListModel* (* list_modules) ( FoundryDebugger* self )

No description available.

list_traps: GListModel* (* list_traps) ( FoundryDebugger* self )

No description available.

list_threads: GListModel* (* list_threads) ( FoundryDebugger* self )

No description available.

list_thread_groups: GListModel* (* list_thread_groups) ( FoundryDebugger* self )

No description available.

disassemble: DexFuture* (* disassemble) ( FoundryDebugger* self, guint64 begin_address, guint64 end_address )

No description available.

interpret: DexFuture* (* interpret) ( FoundryDebugger* self, const char* command )

No description available.

interrupt: DexFuture* (* interrupt) ( FoundryDebugger* self )

No description available.

stop: DexFuture* (* stop) ( FoundryDebugger* self )

No description available.

send_signal: DexFuture* (* send_signal) ( FoundryDebugger* self, int signum )

No description available.

move: DexFuture* (* move) ( FoundryDebugger* self, FoundryDebuggerMovement movement )

No description available.

trap: DexFuture* (* trap) ( FoundryDebugger* self, FoundryDebuggerTrapParams* params )

No description available.

can_move: gboolean (* can_move) ( FoundryDebugger* self, FoundryDebuggerMovement movement )

No description available.

event: void (* event) ( FoundryDebugger* self, FoundryDebuggerEvent* event )

No description available.

list_log_messages: GListModel* (* list_log_messages) ( FoundryDebugger* self )

No description available.

dup_primary_thread: FoundryDebuggerThread* (* dup_primary_thread) ( FoundryDebugger* self )

No description available.

has_terminated: gboolean (* has_terminated) ( FoundryDebugger* self )

No description available.

Virtual methods

Foundry.DebuggerClass.can_move

Determines of the debugger can currently make movement.

deprecated: 1.1 

Foundry.DebuggerClass.disassemble

Disassemble the instructions found in the address range.

Foundry.DebuggerClass.dup_name

Gets a name for the provider that is expected to be displayed to users such as “GNU Debugger”.

Foundry.DebuggerClass.dup_primary_thread

Gets a copy of the primary thread (the first thread created by the debugger).

unstable since: 1.1

Foundry.DebuggerClass.event
No description available.

Foundry.DebuggerClass.has_terminated
No description available.

Foundry.DebuggerClass.initialize

This must be called before using the debugger instance and may only be called once.

Foundry.DebuggerClass.interpret

Requests that the debugger interpret a command. This is typically the REPL of a debugger and can be used to bridge the normal interpreter of a debugger to the the user.

Foundry.DebuggerClass.interrupt

This should cause the child process to pause.

deprecated: 1.1 

Foundry.DebuggerClass.list_address_space

Gets a GListModel of FoundryDebuggerMappedRegion that is updated based on the address mapping of the debuggee.

Foundry.DebuggerClass.list_log_messages

Lists available log messages from the debugger instance.

unstable since: 1.1

Foundry.DebuggerClass.list_modules

Lists the known modules loaded into the address space.

Foundry.DebuggerClass.list_thread_groups

List thread groups known to the debugger.

Foundry.DebuggerClass.list_threads

List threads known to the debugger.

Foundry.DebuggerClass.list_traps

List known traps (breakpoints, countpoints, watchpoints) that have been registered with the debugger.

Foundry.DebuggerClass.move

Use foundry_debugger_thread_move() in new code.

deprecated: 1.1 

Foundry.DebuggerClass.send_signal

Send signal signum to debuggee.

Foundry.DebuggerClass.stop

Stop the debugger fully. This should at least cause the inferior to be sent a terminating signal.

Foundry.DebuggerClass.trap

Register a new breakpoint based on params.