Top | ![]() |
![]() |
![]() |
![]() |
void | breakpoint-added | Run Last |
void | breakpoint-modified | Run Last |
void | breakpoint-removed | Run Last |
void | library-loaded | Run Last |
void | library-unloaded | Run Last |
void | log | Run Last |
void | running | Run Last |
void | stopped | Run Last |
void | thread-added | Run Last |
void | thread-group-added | Run Last |
void | thread-group-exited | Run Last |
void | thread-group-removed | Run Last |
void | thread-group-started | Run Last |
void | thread-removed | Run Last |
void | thread-selected | Run Last |
The IdeDebugger abstract base class is used by debugger implementations. They should bridge their backend-specific features into those supported by the API using the series of "emit" functions provided as part of this class.
For example, when the inferior creates a new thread, the debugger
implementation should call ide_debugger_emit_thread_added()
.
gboolean ide_debugger_supports_runner (IdeDebugger *self
,IdeRunner *runner
,gint *priority
);
Checks if the debugger supports a given runner. The debugger may need to check if the binary type matches it's expectation.
void ide_debugger_prepare (IdeDebugger *self
,IdeRunner *runner
);
Prepares the runner to launch a debugger and target process.
Since: 3.26
GListModel *
ide_debugger_get_breakpoints (IdeDebugger *self
);
Gets the breakpoints for the IdeDebugger.
Contrast this to ide_debugger_list_breakpoints_async()
which will query
the debugger backend for breakpoints. This GListModel containing
IdeDebuggerBreakpoint instances is updated as necessary by listening
to various breakpoint related signals on the IdeDebugger instance.
This is primarily out of convenience to be used by UI which wants to display information on breakpoints.
const gchar *
ide_debugger_get_display_name (IdeDebugger *self
);
Gets the display name for the debugger as the user should see it in various UI components.
Since: 3.26
void ide_debugger_set_display_name (IdeDebugger *self
,const gchar *display_name
);
Sets the “display-name” property.
gboolean ide_debugger_get_can_move (IdeDebugger *self
,IdeDebuggerMovement movement
);
Checks to see if the debugger can make the movement matching movement
.
Since: 3.26
GListModel *
ide_debugger_get_threads (IdeDebugger *self
);
Gets the threads that have been registered by the debugger.
The resulting GListModel accuracy is based on the IdeDebugger implementation emitting varous thread modification signals correctly.
GListModel *
ide_debugger_get_thread_groups (IdeDebugger *self
);
Gets the thread groups that have been registered by the debugger.
The resulting GListModel accuracy is based on the IdeDebugger implementation emitting varous thread-group modification signals correctly.
IdeDebuggerThread *
ide_debugger_get_selected_thread (IdeDebugger *self
);
Gets the current selected thread by the debugger.
Since: 3.26
void ide_debugger_disassemble_async (IdeDebugger *self
,const IdeDebuggerAddressRange *range
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Disassembles the address range requested.
self |
an IdeDebugger |
|
range |
an IdeDebuggerAddressRange to disassemble |
|
cancellable |
a GCancellable or |
[nullable] |
callback |
A callback to call once the operation has finished |
|
user_data |
user data for |
Since: 3.26
GPtrArray * ide_debugger_disassemble_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
Completes an asynchronous request to ide_debugger_disassemble_async()
.
a GPtrArray
of IdeDebuggerInstruction if successful; otherwise NULL
and error is set.
[transfer full][element-type Ide.DebuggerInstruction]
Since: 3.26
void ide_debugger_insert_breakpoint_async (IdeDebugger *self
,IdeDebuggerBreakpoint *breakpoint
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously requests that a breakpoint is added to the debugger.
This asynchronous function may complete before the breakpoint has been registered in the debugger. Debugger implementations will emit “breakpoint-added” when a breakpoint has been registered.
self |
An IdeDebugger |
|
breakpoint |
||
cancellable |
a GCancellable or |
[nullable] |
callback |
an async callback to complete the operation |
|
user_data |
user data for |
Since: 3.26
gboolean ide_debugger_insert_breakpoint_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
Completes a request to asynchronously insert a breakpoint.
See also: ide_debugger_insert_breakpoint_async()
Since: 3.26
void ide_debugger_interrupt_async (IdeDebugger *self
,IdeDebuggerThreadGroup *thread_group
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously requests that the debugger interrupts execution of a thread group. Thread groups are a collection of threads that are executed or stopped together and on gdb on Linux, this is the default for all threads in the process.
self |
||
thread_group |
[nullable] | |
cancellable |
a GCancellable or |
[nullable] |
callback |
a callback to execute upon completion. |
[closure user_data] |
user_data |
closure data for |
Since: 3.26
gboolean ide_debugger_interrupt_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
void ide_debugger_modify_breakpoint_async (IdeDebugger *self
,IdeDebuggerBreakpointChange change
,IdeDebuggerBreakpoint *breakpoint
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously requests that a breakpoint is modified by the debugger backend.
Specify change
for how to modify the breakpoint.
This asynchronous function may complete before the breakpoint has been modified by the debugger. Debugger implementations will emit “breakpoint-modified” when a breakpoint has been removed.
self |
An IdeDebugger |
|
change |
||
breakpoint |
||
cancellable |
a GCancellable or |
[nullable] |
callback |
an async callback to complete the operation |
|
user_data |
user data for |
Since: 3.26
gboolean ide_debugger_modify_breakpoint_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
Completes an asynchronous request to modify a breakpoint.
Note that this only completes the submission of the request, if you need to know when the breakpoint has been modified, listen to the “breakpoint-modified” signal.
Since: 3.26
void ide_debugger_remove_breakpoint_async (IdeDebugger *self
,IdeDebuggerBreakpoint *breakpoint
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously requests that a breakpoint is removed from the debugger.
This asynchronous function may complete before the breakpoint has been removed by the debugger. Debugger implementations will emit “breakpoint-removed” when a breakpoint has been removed.
self |
An IdeDebugger |
|
breakpoint |
||
cancellable |
a GCancellable or |
[nullable] |
callback |
an async callback to complete the operation |
|
user_data |
user data for |
Since: 3.26
gboolean ide_debugger_remove_breakpoint_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
Completes a request to asynchronously remove a breakpoint.
See also: ide_debugger_remove_breakpoint_async()
Since: 3.26
void ide_debugger_list_breakpoints_async (IdeDebugger *self
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously requests the list of current breakpoints from the debugger.
IdeDebugger implementations must implement the virtual function for this method.
self |
An IdeDebugger |
|
cancellable |
a GCancellable, or |
[nullable] |
callback |
a callback to call upon completion |
|
user_data |
user data for |
Since: 3.26
GPtrArray * ide_debugger_list_breakpoints_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
Gets the list of breakpoints from the debugger.
self |
An IdeDebugger |
|
result |
a GAsyncResult provided to the async callback |
|
error |
a location for a GError or |
a GPtrArray of breakpoints that are registered with the debugger.
[transfer full][element-type Ide.DebuggerBreakpoint]
Since: 3.26
void ide_debugger_list_frames_async (IdeDebugger *self
,IdeDebuggerThread *thread
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
GPtrArray * ide_debugger_list_frames_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
void ide_debugger_list_locals_async (IdeDebugger *self
,IdeDebuggerThread *thread
,IdeDebuggerFrame *frame
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Requests the debugger backend to list the locals that are available to the
given frame
of thread
.
self |
an IdeDebugger |
|
thread |
||
frame |
||
cancellable |
a GCancellable or |
[nullable] |
callback |
A callback to call once the operation has finished |
|
user_data |
user data for |
Since: 3.26
GPtrArray * ide_debugger_list_locals_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
Completes an asynchronous request to ide_debugger_list_locals_async()
.
a GPtrArray of
IdeDebuggerVariable if successful; otherwise NULL
and error is set.
[transfer full][element-type Ide.DebuggerVariable]
Since: 3.26
void ide_debugger_list_params_async (IdeDebugger *self
,IdeDebuggerThread *thread
,IdeDebuggerFrame *frame
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Requests the debugger backend to list the parameters to the given stack frame.
self |
an IdeDebugger |
|
thread |
||
frame |
||
cancellable |
a GCancellable or |
[nullable] |
callback |
A callback to call once the operation has finished |
|
user_data |
user data for |
Since: 3.26
GPtrArray * ide_debugger_list_params_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
Completes an asynchronous request to ide_debugger_list_params_async()
.
a GPtrArray of
IdeDebuggerVariable if successful; otherwise NULL
and error is set.
[transfer full][element-type Ide.DebuggerVariable]
Since: 3.26
void ide_debugger_list_registers_async (IdeDebugger *self
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Requests the list of registers and their values.
self |
an IdeDebugger |
|
cancellable |
a GCancellable or |
[nullable] |
callback |
A callback to call once the operation has finished |
|
user_data |
user data for |
Since: 3.26
GPtrArray * ide_debugger_list_registers_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
Completes an asynchronous request to ide_debugger_list_registers_async()
.
a GPtrArray of
IdeDebuggerRegister if successful; otherwise NULL
and error is set.
[transfer full][element-type Ide.DebuggerRegister]
Since: 3.26
void ide_debugger_move_async (IdeDebugger *self
,IdeDebuggerMovement movement
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Advances the debugger to the next breakpoint or until the debugger stops.
movement
should describe the type of movement to perform.
self |
||
movement |
||
cancellable |
a GCancellable or |
[nullable] |
callback |
A callback to call upon completion of the operation. |
[scope async][closure user_data] |
user_data |
user data for |
Since: 3.26
gboolean ide_debugger_move_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
Notifies that the movement request has been submitted to the debugger.
Note that this does not indicate that the movement has completed successfully, only that the command has be submitted.
self |
||
result |
a GAsyncResult provided to the callback |
|
error |
A location for a GError, or |
Since: 3.26
void ide_debugger_send_signal_async (IdeDebugger *self
,gint signum
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
gboolean ide_debugger_send_signal_finish (IdeDebugger *self
,GAsyncResult *result
,GError **error
);
const gchar * ide_debugger_locate_binary_at_address (IdeDebugger *self
,IdeDebuggerAddress address
);
Attempts to locate the binary that contains a given address.
address
should be an address within the inferiors process space.
This works by keeping track of libraries as they are loaded and unloaded and their associated file mappings.
Currently, the filename will match the name in the inferior mount namespace, but that may change based on future design changes.
Since: 3.26
void ide_debugger_emit_log (IdeDebugger *self
,IdeDebuggerStream stream
,GBytes *content
);
Emits the "log" signal.
Debugger implementations should use this to notify any listeners that incoming log information has been recieved.
Use the IdeDebuggerStream to denote the particular stream.
Since: 3.26
void ide_debugger_emit_thread_group_added (IdeDebugger *self
,IdeDebuggerThreadGroup *thread_group
);
void ide_debugger_emit_thread_group_removed (IdeDebugger *self
,IdeDebuggerThreadGroup *thread_group
);
void ide_debugger_emit_thread_group_started (IdeDebugger *self
,IdeDebuggerThreadGroup *thread_group
);
void ide_debugger_emit_thread_group_exited (IdeDebugger *self
,IdeDebuggerThreadGroup *thread_group
);
void ide_debugger_emit_thread_added (IdeDebugger *self
,IdeDebuggerThread *thread
);
Emits the “thread-added” signal notifying that a new thread has been added to the inferior.
Since: 3.26
void ide_debugger_emit_thread_removed (IdeDebugger *self
,IdeDebuggerThread *thread
);
Emits the “thread-removed” signal notifying that a thread has been removed to the inferior.
Since: 3.26
void ide_debugger_emit_thread_selected (IdeDebugger *self
,IdeDebuggerThread *thread
);
Emits the “thread-selected” signal notifying that a thread has been set as the current debugging thread.
Since: 3.26
void ide_debugger_emit_breakpoint_added (IdeDebugger *self
,IdeDebuggerBreakpoint *breakpoint
);
Emits the “breakpoint-added” signal.
Debugger implementations should call this when a new breakpoint has been registered with the debugger.
If a breakpoint has changed, you should use
ide_debugger_emit_breakpoint_modified()
to notify of the modification.
Since: 3.26
void ide_debugger_emit_breakpoint_modified (IdeDebugger *self
,IdeDebuggerBreakpoint *breakpoint
);
Emits the “breakpoint-modified” signal.
Debugger implementations should call this when a breakpoint has changed in the underlying debugger.
Since: 3.26
void ide_debugger_emit_breakpoint_removed (IdeDebugger *self
,IdeDebuggerBreakpoint *breakpoint
);
Emits the “breakpoint-removed” signal.
Debugger implementations should call this when a breakpoint has been removed either manually or automatically by the debugger.
If a breakpoint has changed, you should use
ide_debugger_emit_breakpoint_modified()
to notify of the modification.
Since: 3.26
void
ide_debugger_emit_running (IdeDebugger *self
);
Emits the "running" signal.
Debugger implementations should call this when the debugger has started or restarted executing the inferior.
Since: 3.26
void ide_debugger_emit_stopped (IdeDebugger *self
,IdeDebuggerStopReason stop_reason
,IdeDebuggerBreakpoint *breakpoint
);
Emits the "stopped" signal.
Debugger implementations should call this when the debugger has stopped and include the reason and location of the stop.
self |
an IdeDebugger |
|
stop_reason |
the reason the debugger stopped |
|
breakpoint |
the breakpoint representing the stop location |
Since: 3.26
void ide_debugger_emit_library_loaded (IdeDebugger *self
,IdeDebuggerLibrary *library
);
Emits the "library-loaded" signal.
Debugger implementations should call this when the debugger has loaded a new library.
Since: 3.26
void ide_debugger_emit_library_unloaded (IdeDebugger *self
,IdeDebuggerLibrary *library
);
Emits the "library-unloaded" signal.
Debugger implementations should call this when the debugger has unloaded a library.
Since: 3.26
struct IdeDebuggerClass { IdeObjectClass parent_class; /* Signals */ void (*log) (IdeDebugger *self, IdeDebuggerStream stream, GBytes *content); void (*thread_group_added) (IdeDebugger *self, IdeDebuggerThreadGroup *thread_group); void (*thread_group_removed) (IdeDebugger *self, IdeDebuggerThreadGroup *thread_group); void (*thread_group_started) (IdeDebugger *self, IdeDebuggerThreadGroup *thread_group); void (*thread_group_exited) (IdeDebugger *self, IdeDebuggerThreadGroup *thread_group); void (*thread_added) (IdeDebugger *self, IdeDebuggerThread *thread); void (*thread_removed) (IdeDebugger *self, IdeDebuggerThread *thread); void (*thread_selected) (IdeDebugger *self, IdeDebuggerThread *thread); void (*breakpoint_added) (IdeDebugger *self, IdeDebuggerBreakpoint *breakpoint); void (*breakpoint_removed) (IdeDebugger *self, IdeDebuggerBreakpoint *breakpoint); void (*breakpoint_modified) (IdeDebugger *self, IdeDebuggerBreakpoint *breakpoint); void (*running) (IdeDebugger *self); void (*stopped) (IdeDebugger *self, IdeDebuggerStopReason stop_reason, IdeDebuggerBreakpoint *breakpoint); void (*library_loaded) (IdeDebugger *self, IdeDebuggerLibrary *library); void (*library_unloaded) (IdeDebugger *self, IdeDebuggerLibrary *library); /* Virtual Functions */ gboolean (*supports_runner) (IdeDebugger *self, IdeRunner *runner, gint *priority); void (*prepare) (IdeDebugger *self, IdeRunner *runner); gboolean (*get_can_move) (IdeDebugger *self, IdeDebuggerMovement movement); void (*move_async) (IdeDebugger *self, IdeDebuggerMovement movement, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean (*move_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*list_breakpoints_async) (IdeDebugger *self, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); GPtrArray *(*list_breakpoints_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*insert_breakpoint_async) (IdeDebugger *self, IdeDebuggerBreakpoint *breakpoint, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean (*insert_breakpoint_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*remove_breakpoint_async) (IdeDebugger *self, IdeDebuggerBreakpoint *breakpoint, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean (*remove_breakpoint_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*modify_breakpoint_async) (IdeDebugger *self, IdeDebuggerBreakpointChange change, IdeDebuggerBreakpoint *breakpoint, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean (*modify_breakpoint_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*list_frames_async) (IdeDebugger *self, IdeDebuggerThread *thread, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); GPtrArray *(*list_frames_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*interrupt_async) (IdeDebugger *self, IdeDebuggerThreadGroup *thread_group, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean (*interrupt_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*send_signal_async) (IdeDebugger *self, gint signum, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean (*send_signal_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*list_locals_async) (IdeDebugger *self, IdeDebuggerThread *thread, IdeDebuggerFrame *frame, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); GPtrArray *(*list_locals_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*list_params_async) (IdeDebugger *self, IdeDebuggerThread *thread, IdeDebuggerFrame *frame, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); GPtrArray *(*list_params_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*list_registers_async) (IdeDebugger *self, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); GPtrArray *(*list_registers_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); void (*disassemble_async) (IdeDebugger *self, const IdeDebuggerAddressRange *range, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); GPtrArray *(*disassemble_finish) (IdeDebugger *self, GAsyncResult *result, GError **error); };
“display-name”
property “display-name” gchar *
The "display-name" property is used by UI to when it is necessary to display the name of the debugger. You might set this to "GNU Debugger" or "Python Debugger", etc.
Flags: Read / Write
Default value: NULL
Since: 3.26
“selected-thread”
property“selected-thread” IdeDebuggerThread *
The currently selected thread.
Flags: Read
Since: 3.26
“breakpoint-added”
signalvoid user_function (IdeDebugger *self, IdeDebuggerBreakpoint *breakpoint, gpointer user_data)
The "breakpoint-added" signal is emitted when a breakpoint has been added to the debugger.
self |
an IdeDebugger |
|
breakpoint |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“breakpoint-modified”
signalvoid user_function (IdeDebugger *self, IdeDebuggerBreakpoint *breakpoint, gpointer user_data)
The "breakpoint-modified" signal is emitted when a breakpoint has been modified by the debugger.
self |
an IdeDebugger |
|
breakpoint |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“breakpoint-removed”
signalvoid user_function (IdeDebugger *self, IdeDebuggerBreakpoint *breakpoint, gpointer user_data)
The "breakpoint-removed" signal is emitted when a breakpoint has been removed from the debugger.
self |
an IdeDebugger |
|
breakpoint |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“library-loaded”
signalvoid user_function (IdeDebugger *self, IdeDebuggerLibrary *library, gpointer user_data)
This signal is emitted when a library has been loaded by the debugger.
self |
An IdeDebugger |
|
library |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“library-unloaded”
signalvoid user_function (IdeDebugger *self, IdeDebuggerLibrary *library, gpointer user_data)
This signal is emitted when a library has been unloaded by the debugger. Generally, this means that the library was a module and loaded in such a way that allowed unloading.
self |
An IdeDebugger |
|
library |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“log”
signalvoid user_function (IdeDebugger *self, IdeDebuggerStream stream, GBytes *content, gpointer user_data)
The "log" signal is emitted when there is new content to be appended to one of the streams.
self |
An IdeDebugger. |
|
stream |
the stream to append to. |
|
content |
the contents for the stream. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“running”
signalvoid user_function (IdeDebugger *self, gpointer user_data)
This signal is emitted when the debugger starts or resumes executing the inferior.
Flags: Run Last
Since: 3.26
“stopped”
signalvoid user_function (IdeDebugger *self, IdeDebuggerStopReason stop_reason, IdeDebuggerBreakpoint *breakpoint, gpointer user_data)
This signal is emitted when the debugger has stopped executing the inferior for a variety of reasons.
If possible, the debugger implementation will provide the breakpoint of the location the debugger stopped. That location may not always be representable by source in the project (such as memory address based breakpoints).
self |
||
stop_reason |
||
breakpoint |
An IdeDebuggerBreakpoint if any. |
[nullable] |
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“thread-added”
signalvoid user_function (IdeDebugger *self, IdeDebuggerThread *thread, gpointer user_data)
The signal is emitted when a thread is added to the inferior.
self |
an IdeDebugger |
|
thread |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“thread-group-added”
signalvoid user_function (IdeDebugger *self, IdeDebuggerThreadGroup *thread_group, gpointer user_data)
This signal is emitted when a thread-group has been added.
self |
an IdeDebugger |
|
thread_group |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“thread-group-exited”
signalvoid user_function (IdeDebugger *self, IdeDebuggerThreadGroup *thread_group, gpointer user_data)
This signal is emitted when a thread-group has exited.
self |
an IdeDebugger |
|
thread_group |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“thread-group-removed”
signalvoid user_function (IdeDebugger *self, IdeDebuggerThreadGroup *thread_group, gpointer user_data)
This signal is emitted when a thread-group has been removed.
self |
an IdeDebugger |
|
thread_group |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“thread-group-started”
signalvoid user_function (IdeDebugger *self, IdeDebuggerThreadGroup *thread_group, gpointer user_data)
This signal is emitted when a thread-group has been started.
self |
an IdeDebugger |
|
thread_group |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“thread-removed”
signalvoid user_function (IdeDebugger *self, IdeDebuggerThread *thread, gpointer user_data)
The signal is emitted when a thread is removed from the inferior.
self |
an IdeDebugger |
|
thread |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26
“thread-selected”
signalvoid user_function (IdeDebugger *self, IdeDebuggerThread *thread, gpointer user_data)
The signal is emitted when a thread is selected in the debugger.
self |
an IdeDebugger |
|
thread |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.26