## IdeDebuggerBreakpoint IdeDebuggerBreakpoint |

## Functions

gint | ide_debugger_breakpoint_compare ()
IdeDebuggerBreakpoint * | ide_debugger_breakpoint_new ()
const gchar * | ide_debugger_breakpoint_get_id ()
gboolean | ide_debugger_breakpoint_get_enabled ()
void | ide_debugger_breakpoint_set_enabled ()
IdeDebuggerBreakMode | ide_debugger_breakpoint_get_mode ()
void | ide_debugger_breakpoint_set_mode ()
IdeDebuggerDisposition | ide_debugger_breakpoint_get_disposition ()
void | ide_debugger_breakpoint_set_disposition ()
IdeDebuggerAddress | ide_debugger_breakpoint_get_address ()
void | ide_debugger_breakpoint_set_address ()
const gchar * | ide_debugger_breakpoint_get_spec ()
void | ide_debugger_breakpoint_set_spec ()
const gchar * | ide_debugger_breakpoint_get_function ()
void | ide_debugger_breakpoint_set_function ()
const gchar * | ide_debugger_breakpoint_get_file ()
void | ide_debugger_breakpoint_set_file ()
guint | ide_debugger_breakpoint_get_line ()
void | ide_debugger_breakpoint_set_line ()
gint64 | ide_debugger_breakpoint_get_count ()
void | ide_debugger_breakpoint_set_count ()
const gchar * | ide_debugger_breakpoint_get_thread ()
void | ide_debugger_breakpoint_set_thread ()

## Properties

guint64 | address | Read / Write
gint64 | count | Read / Write
IdeDebuggerDisposition | disposition | Read / Write
gboolean | enabled | Read / Write
gchar * | file | Read / Write
gchar * | function | Read / Write
gchar * | id | Read / Write / Construct Only
guint | line | Read / Write
IdeDebuggerBreakMode | mode | Read / Write
gchar * | spec | Read / Write
gchar * | thread | Read / Write

## Signals

void | reset | Run Last

## Types and Values

#define | IDE_TYPE_DEBUGGER_BREAKPOINT
struct | IdeDebuggerBreakpointClass
| IdeDebuggerBreakpoint

## Object Hierarchy

        GObject
        ╰── IdeDebuggerBreakpoint

## Description

## Functions

### ide_debugger_breakpoint_compare ()

    gint
    ide_debugger_breakpoint_compare (IdeDebuggerBreakpoint *a,
                                     IdeDebuggerBreakpoint *b);

### ide_debugger_breakpoint_new ()

    IdeDebuggerBreakpoint *
    ide_debugger_breakpoint_new (const gchar *id);

### ide_debugger_breakpoint_get_id ()

    const gchar *
    ide_debugger_breakpoint_get_id (IdeDebuggerBreakpoint *self);

Gets the identifier for the breakpoint that is backend specific.

#### Parameters

self | An IdeDebuggerBreakpoint |

#### Returns

the id of the breakpoint

Since: 3.32

### ide_debugger_breakpoint_get_enabled ()

    gboolean
    ide_debugger_breakpoint_get_enabled (IdeDebuggerBreakpoint *self);

Checks if the breakpoint is enabled.

#### Returns

`TRUE` if the breakpoint is enabled

Since: 3.32

### ide_debugger_breakpoint_set_enabled ()

    void
    ide_debugger_breakpoint_set_enabled (IdeDebuggerBreakpoint *self,
                                         gboolean enabled);

Sets the enabled state of the breakpoint instance.

You must call `ide_debugger_breakpoint_modify_breakpoint_async()` to actually modify the breakpoint in the backend.

#### Parameters

self | a IdeDebuggerBreakpoint |
enabled | if the breakpoint is enabled |

Since: 3.32

### ide_debugger_breakpoint_get_mode ()

    IdeDebuggerBreakMode
    ide_debugger_breakpoint_get_mode (IdeDebuggerBreakpoint *self);

Gets teh mode for the breakpoint. This describes if the breakpoint is a normal breakpoint type, countpoint, or watchpoint.

See also: IdeDebuggerBreakMode

#### Returns

The mode of the breakpoint

Since: 3.32

### ide_debugger_breakpoint_set_mode ()

    void
    ide_debugger_breakpoint_set_mode (IdeDebuggerBreakpoint *self,
                                      IdeDebuggerBreakMode mode);

Sets the "mode" property for the breakpoint.

This should represent the mode for which the breakpoint is used.

For example, if it is a countpoint (a breakpoint which increments a counter), you would use `IDE_DEBUGGER_BREAK_COUNTPOINT`.

#### Parameters

self | An IdeDebuggerBreakpoint |
mode | An IdeDebuggerBreakMode |

Since: 3.32

### ide_debugger_breakpoint_get_disposition ()

    IdeDebuggerDisposition
    ide_debugger_breakpoint_get_disposition
                                   (IdeDebuggerBreakpoint *self);

Gets the "disposition" property of the breakpoint.

#### Parameters

self | An IdeDebuggerBreakpoint |

#### Returns

An IdeDebugerDisposition

Since: 3.32

### ide_debugger_breakpoint_set_disposition ()

    void
    ide_debugger_breakpoint_set_disposition
                                   (IdeDebuggerBreakpoint *self,
                                    IdeDebuggerDisposition disposition);

Sets the "disposition" property.

The disposition property is used to to track what should happen to a breakpoint when movements are made in the debugger.

#### Parameters

self | an IdeDebuggerBreakpoint |
disposition | an IdeDebuggerDisposition |

Since: 3.32

### ide_debugger_breakpoint_get_address ()

    IdeDebuggerAddress
    ide_debugger_breakpoint_get_address (IdeDebuggerBreakpoint *self);

Gets the "address" property, which defines where the breakpoint is located in memory.

Builder only supports up to 64-bit addresses at this time.

#### Parameters

self | An IdeDebuggerBreakpoint |

#### Returns

The address of the breakpoint, if any.

Since: 3.32

### ide_debugger_breakpoint_set_address ()

    void
    ide_debugger_breakpoint_set_address (IdeDebuggerBreakpoint *self,
                                         IdeDebuggerAddress address);

Sets the address of the breakpoint, if any.

#### Parameters

self | An IdeDebuggerBreakpoint |
address | The address of the breakpoint |

Since: 3.32

### ide_debugger_breakpoint_get_spec ()

    const gchar *
    ide_debugger_breakpoint_get_spec (IdeDebuggerBreakpoint *self);

Gets the "spec" property of the breakpoint.

The spec is used when the IdeDebuggerBreakMode is `IDE_DEBUGGER_BREAK_WATCHPOINT`.

#### Parameters

self | An IdeDebuggerBreakpoint |

#### Returns

A string containing the spec, or `NULL`.

[nullable]

Since: 3.32

### ide_debugger_breakpoint_set_spec ()

    void
    ide_debugger_breakpoint_set_spec (IdeDebuggerBreakpoint *self,
                                      const gchar *spec);

Sets the specification for the debugger breakpoint. This describes a statement which the debugger can use to determine of the breakpoint should be applied when stopping the debugger.

#### Parameters

self | An IdeDebuggerBreakpoint |
spec | the specification or `NULL`. | [nullable]

Since: 3.32

### ide_debugger_breakpoint_get_function ()

    const gchar *
    ide_debugger_breakpoint_get_function (IdeDebuggerBreakpoint *self);

Gets the "function" property of the breakpoint.

This is a user-readable value representing the name of the function.

#### Parameters

self | An IdeDebuggerBreakpoint |

Since: 3.32

### ide_debugger_breakpoint_set_function ()

    void
    ide_debugger_breakpoint_set_function (IdeDebuggerBreakpoint *self,
                                          const gchar *function);

Sets the "function" property, which is a user-readable value representing the name of the function.

#### Parameters

self | An IdeDebuggerBreakpoint |
function | the name of the function, or `NULL`. | [nullable]

Since: 3.32

### ide_debugger_breakpoint_get_file ()

    const gchar *
    ide_debugger_breakpoint_get_file (IdeDebuggerBreakpoint *self);

Gets the file that contains the breakpoint. This may be `NULL`, particularly if the breakpoint does not exist with in a known file, such as at a memory address.

#### Parameters

self | An IdeDebuggerBreakpoint |

#### Returns

The file containing the breakpoint, or `NULL`.

[nullable]

Since: 3.32

### ide_debugger_breakpoint_set_file ()

    void
    ide_debugger_breakpoint_set_file (IdeDebuggerBreakpoint *self,
                                      const gchar *file);

Sets the file that contains the breakpoint, if any.

#### Parameters

self | An IdeDebuggerBreakpoint |
file | the file containing the breakpoint, or `NULL`. | [nullable]

Since: 3.32

### ide_debugger_breakpoint_get_line ()

    guint
    ide_debugger_breakpoint_get_line (IdeDebuggerBreakpoint *self);

Gets the "line" property, which is the line number within the file that contains the breakpoint.

This value is indexed from 1, and 0 indicates that the value is unset.

#### Parameters

self | An IdeDebuggerBreakpoint |

#### Returns

An integer greater than 0 if set, otherwise 0.

Since: 3.32

### ide_debugger_breakpoint_set_line ()

    void
    ide_debugger_breakpoint_set_line (IdeDebuggerBreakpoint *self,
                                      guint line);

Sets the line for the breakpoint. A value of 0 means the line is unset.

#### Parameters

self | An IdeDebuggerBreakpoint |

Since: 3.32

### ide_debugger_breakpoint_get_count ()

    gint64
    ide_debugger_breakpoint_get_count (IdeDebuggerBreakpoint *self);

Gets the number of times the breakpoint has been reached, if supported by the debugger backend.

#### Returns

An integer greater than or equal to zero representing the number of times the breakpoint has been reached.

Since: 3.32

### ide_debugger_breakpoint_set_count ()

    void
    ide_debugger_breakpoint_set_count (IdeDebuggerBreakpoint *self,
                                       gint64 count);

Sets the number of times the breakpoint has been reached if the breakpoint is a countpoint (or if the backend supports counting of regular breakpoints).

Since: 3.32

### ide_debugger_breakpoint_get_thread ()

    const gchar *
    ide_debugger_breakpoint_get_thread (IdeDebuggerBreakpoint *self);

Gets the "thread" property, which is the thread the breakpoint is currently stopped in (if any).

#### Parameters

self | An IdeDebuggerBreakpoint |

#### Returns

the thread identifier or `NULL`.

[nullable]

Since: 3.32

### ide_debugger_breakpoint_set_thread ()

    void
    ide_debugger_breakpoint_set_thread (IdeDebuggerBreakpoint *self,
                                        const gchar *thread);

Sets the thread that the breakpoint is currently stopped in.

This should generally only be used by debugger implementations.

Since: 3.32

## Types and Values

### IDE_TYPE_DEBUGGER_BREAKPOINT

    #define IDE_TYPE_DEBUGGER_BREAKPOINT (ide_debugger_breakpoint_get_type())

### struct IdeDebuggerBreakpointClass

    struct IdeDebuggerBreakpointClass {
      GObjectClass parent_class;

      void (*reset) (IdeDebuggerBreakpoint *self);
    };

### IdeDebuggerBreakpoint

    typedef struct _IdeDebuggerBreakpoint IdeDebuggerBreakpoint;

## Property Details

### The `“address”` property

      “address”                  guint64

The address of the breakpoint, if available.

Builder only supports up to 64-bit addresses at this time.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write

Default value: 0

Since: 3.32

### The `“count”` property

      “count”                    gint64

The number of times the breakpoint has been reached.

This is backend specific, and may not be supported by all backends.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

Since: 3.32

### The `“disposition”` property

      “disposition”              IdeDebuggerDisposition

This property describes what should happen to the breakpoint upon the next stop of the debugger.

Generally, breakpoints are kept. But some backends allow you to remove a breakpoint upon the next stop of the debugger or when the breakpoint is next reached.

This is backend specific, and not all values may be supported by all backends.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write

Default value: IDE_DEBUGGER_DISPOSITION_KEEP

Since: 3.32

### The `“enabled”` property

      “enabled”                  gboolean

This property is `TRUE` when the breakpoint is enabled.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write

Default value: TRUE

Since: 3.32

### The `“file”` property

      “file”                     gchar *

The file containing the breakpoint, if any.

If the breakpoint exists at an assembly instruction that cannot be represented by a file, this will be `NULL`.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write

Default value: NULL

Since: 3.32

### The `“function”` property

      “function”                 gchar *

The name of the function containing the breakpoint.

The value of this is backend specific and may look vastly different based on the language being debugged.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write

Default value: NULL

Since: 3.32

### The `“id”` property

      “id”                       gchar *

The identifier of the breakpoint.

This is backend specific.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write / Construct Only

Default value: NULL

Since: 3.32

### The `“line”` property

      “line”                     guint

The line number within “file” where the breakpoint exists.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write

Default value: 0

Since: 3.32

### The `“mode”` property

      “mode”                     IdeDebuggerBreakMode

The mode of the breakpoint, such as a breakpoint, countpoint, or watchpoint.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write

Default value: IDE_DEBUGGER_BREAK_BREAKPOINT

Since: 3.32

### The `“spec”` property

      “spec”                     gchar *

The specification for the breakpoint, which may be used by watchpoints to determine of the breakpoint should be applied while executing.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write

Default value: NULL

Since: 3.32

### The `“thread”` property

      “thread”                   gchar *

The thread the breakpoint is currently stopped in, or `NULL`.

Owner: IdeDebuggerBreakpoint

Flags: Read / Write

Default value: NULL

Since: 3.32

## Signal Details

### The `“reset”` signal

    void
    user_function (IdeDebuggerBreakpoint *self,
                   gpointer               user_data)

The "reset" signal is emitted after the debugger has exited so that the breakpoint can reset any internal state. This allows the breakpoint to be propagated to the next debugger instance, allowing the user to move between debugger sessions without loosing state.

#### Parameters

self | An IdeDebuggerBreakpoint |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.32