## IAnjutaDebugger IAnjutaDebugger — Debugger interface |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libanjuta/interfaces/ianjuta-debugger.h>

    #define             IANJUTA_TYPE_DEBUGGER_BREAKPOINT_TYPE
    #define             IANJUTA_TYPE_DEBUGGER_DATA
    #define             IANJUTA_TYPE_DEBUGGER_ERROR
    #define             IANJUTA_TYPE_DEBUGGER_OUTPUT_TYPE
    #define             IANJUTA_TYPE_DEBUGGER_STATE
    #define             IANJUTA_TYPE_DEBUGGER_STATUS
    enum                IAnjutaDebuggerBreakpointType;
    enum                IAnjutaDebuggerData;
    enum                IAnjutaDebuggerError;
    enum                IAnjutaDebuggerOutputType;
    enum                IAnjutaDebuggerState;
    enum                IAnjutaDebuggerStatus;
                        IAnjutaDebuggerALine;
                        IAnjutaDebuggerBreakpoint;
                        IAnjutaDebuggerDisassembly;
                        IAnjutaDebuggerFrame;
                        IAnjutaDebuggerMemory;
                        IAnjutaDebuggerRegister;
                        IAnjutaDebuggerVariable;
    #define             IANJUTA_DEBUGGER_ERROR
    void                (*IAnjutaDebuggerCallback)          (const gpointer data,
                                                             gpointer user_data,
                                                             GError *err);
    void                (*IAnjutaDebuggerGListCallback)     (const GList *list,
                                                             gpointer user_data,
                                                             GError *err);
    void                (*IAnjutaDebuggerGCharCallback)     (const gchar *value,
                                                             gpointer user_data,
                                                             GError *err);
    void                (*IAnjutaDebuggerBreakpointCallback)
                                                            (const IAnjutaDebuggerBreakpoint *breakpoint,
                                                             gpointer user_data,
                                                             GError *err);
    void                (*IAnjutaDebuggerOutputCallback)    (IAnjutaDebuggerOutputType type,
                                                             const gchar *output,
                                                             gpointer user_data);
    void                (*IAnjutaDebuggerMemoryCallback)    (const gchar *address,
                                                             guint length,
                                                             const gchar *data,
                                                             gpointer user_data,
                                                             GError *err);
    void                (*IAnjutaDebuggerVariableCallback)  (IAnjutaDebuggerVariable *variable,
                                                             gpointer user_data,
                                                             GError *err);
                        IAnjutaDebugger;
                        IAnjutaDebuggerIface;
    GType               ianjuta_debugger_data_get_type      (void);
    GType               ianjuta_debugger_error_get_type     (void);
    GType               ianjuta_debugger_output_type_get_type
                                                            (void);
    GType               ianjuta_debugger_state_get_type     (void);
    GType               ianjuta_debugger_status_get_type    (void);
    GQuark              ianjuta_debugger_error_quark        (void);
    GType               ianjuta_debugger_get_type           (void);
    gboolean            ianjuta_debugger_abort              (IAnjutaDebugger *obj,
                                                             GError **err);
    gboolean            ianjuta_debugger_attach             (IAnjutaDebugger *obj,
                                                             pid_t pid,
                                                             const GList *source_search_directories,
                                                             GError **err);
    gboolean            ianjuta_debugger_callback           (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_clear_breakpoint   (IAnjutaDebugger *obj,
                                                             guint id,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_condition_breakpoint
                                                            (IAnjutaDebugger *obj,
                                                             guint id,
                                                             const gchar *condition,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    void                ianjuta_debugger_disable_log        (IAnjutaDebugger *obj,
                                                             GError **err);
    gboolean            ianjuta_debugger_enable_breakpoint  (IAnjutaDebugger *obj,
                                                             guint id,
                                                             gboolean enable,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    void                ianjuta_debugger_enable_log         (IAnjutaDebugger *obj,
                                                             IAnjutaMessageView *log,
                                                             GError **err);
    gboolean            ianjuta_debugger_evaluate           (IAnjutaDebugger *obj,
                                                             const gchar *name,
                                                             const gchar *value,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_exit               (IAnjutaDebugger *obj,
                                                             GError **err);
    IAnjutaDebuggerStatus ianjuta_debugger_get_status       (IAnjutaDebugger *obj,
                                                             GError **err);
    gboolean            ianjuta_debugger_handle_signal      (IAnjutaDebugger *obj,
                                                             const gchar *name,
                                                             gboolean stop,
                                                             gboolean print,
                                                             gboolean ignore,
                                                             GError **err);
    gboolean            ianjuta_debugger_ignore_breakpoint  (IAnjutaDebugger *obj,
                                                             guint id,
                                                             guint ignore,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_info_args          (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_info_frame         (IAnjutaDebugger *obj,
                                                             guint frame,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_info_program       (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_info_sharedlib     (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_info_signal        (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_info_target        (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_info_udot          (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_info_variables     (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_initialize         (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerOutputCallback func,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_inspect            (IAnjutaDebugger *obj,
                                                             const gchar *name,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_interrupt          (IAnjutaDebugger *obj,
                                                             GError **err);
    gboolean            ianjuta_debugger_list_argument      (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_list_frame         (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_list_local         (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_list_register      (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_load               (IAnjutaDebugger *obj,
                                                             const gchar *file,
                                                             const gchar *mime_type,
                                                             const GList *source_search_directories,
                                                             gboolean terminal,
                                                             GError **err);
    gboolean            ianjuta_debugger_print              (IAnjutaDebugger *obj,
                                                             const gchar *variable,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_quit               (IAnjutaDebugger *obj,
                                                             GError **err);
    gboolean            ianjuta_debugger_run                (IAnjutaDebugger *obj,
                                                             GError **err);
    gboolean            ianjuta_debugger_run_to             (IAnjutaDebugger *obj,
                                                             const gchar *uri,
                                                             gint line,
                                                             GError **err);
    gboolean            ianjuta_debugger_send_command       (IAnjutaDebugger *obj,
                                                             const gchar *command,
                                                             GError **err);
    gboolean            ianjuta_debugger_set_breakpoint_at_address
                                                            (IAnjutaDebugger *obj,
                                                             guint address,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_set_breakpoint_at_function
                                                            (IAnjutaDebugger *obj,
                                                             const gchar *file,
                                                             const gchar *function,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_set_breakpoint_at_line
                                                            (IAnjutaDebugger *obj,
                                                             const gchar *file,
                                                             guint line,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);
    gboolean            ianjuta_debugger_set_frame          (IAnjutaDebugger *obj,
                                                             guint frame,
                                                             GError **err);
    gboolean            ianjuta_debugger_start              (IAnjutaDebugger *obj,
                                                             const gchar *args,
                                                             GError **err);
    gboolean            ianjuta_debugger_step_in            (IAnjutaDebugger *obj,
                                                             GError **err);
    gboolean            ianjuta_debugger_step_out           (IAnjutaDebugger *obj,
                                                             GError **err);
    gboolean            ianjuta_debugger_step_over          (IAnjutaDebugger *obj,
                                                             GError **err);
    gboolean            ianjuta_debugger_unload             (IAnjutaDebugger *obj,
                                                             GError **err);

## Object Hierarchy

      GInterface
       +----IAnjutaDebugger

## Prerequisites

IAnjutaDebugger requires GObject.

## Signals

      "debugger-ready"                                 : Run Last
      "debugger-started"                               : Run Last
      "debugger-stopped"                               : Run Last
      "frame-changed"                                  : Run Last
      "location-changed"                               : Run Last
      "program-exited"                                 : Run Last
      "program-loaded"                                 : Run Last
      "program-running"                                : Run Last
      "program-stopped"                                : Run Last
      "sharedlib-event"                                : Run Last
      "signal-received"                                : Run Last

## Description

## Details

### IANJUTA_TYPE_DEBUGGER_BREAKPOINT_TYPE

    #define IANJUTA_TYPE_DEBUGGER_BREAKPOINT_TYPE (ianjuta_debugger_breakpoint_type_get_type())

### IANJUTA_TYPE_DEBUGGER_DATA

    #define IANJUTA_TYPE_DEBUGGER_DATA (ianjuta_debugger_data_get_type())

### IANJUTA_TYPE_DEBUGGER_ERROR

    #define IANJUTA_TYPE_DEBUGGER_ERROR (ianjuta_debugger_error_get_type())

### IANJUTA_TYPE_DEBUGGER_OUTPUT_TYPE

    #define IANJUTA_TYPE_DEBUGGER_OUTPUT_TYPE (ianjuta_debugger_output_type_get_type())

### IANJUTA_TYPE_DEBUGGER_STATE

    #define IANJUTA_TYPE_DEBUGGER_STATE (ianjuta_debugger_state_get_type())

### IANJUTA_TYPE_DEBUGGER_STATUS

    #define IANJUTA_TYPE_DEBUGGER_STATUS (ianjuta_debugger_status_get_type())

### enum IAnjutaDebuggerBreakpointType

    typedef enum {
    	IANJUTA_DEBUGGER_BREAK_REMOVED,
    	IANJUTA_DEBUGGER_BREAK_ON_LINE,
    	IANJUTA_DEBUGGER_BREAK_ON_ADDRESS,
    	IANJUTA_DEBUGGER_BREAK_ON_FUNCTION
    } IAnjutaDebuggerBreakpointType;

### enum IAnjutaDebuggerData

    typedef enum {
    	IANJUTA_DEBUGGER_INFORMATION,
    	IANJUTA_DEBUGGER_BREAKPOINT,
    	IANJUTA_DEBUGGER_FRAME,
    	IANJUTA_DEBUGGER_VARIABLE,
    	IANJUTA_DEBUGGER_REGISTER
    } IAnjutaDebuggerData;

### enum IAnjutaDebuggerError

    typedef enum {
    	IANJUTA_DEBUGGER_OK              =  0,
    	IANJUTA_DEBUGGER_NOT_READY       = -1,
    	IANJUTA_DEBUGGER_NOT_RUNNING     = -2,
    	IANJUTA_DEBUGGER_NOT_STOPPED     = -3,
    	IANJUTA_DEBUGGER_NOT_LOADED      = -4,
    	IANJUTA_DEBUGGER_NOT_STARTED     = -5,
    	IANJUTA_DEBUGGER_NOT_CONNECTED   = -6,
    	IANJUTA_DEBUGGER_NOT_IMPLEMENTED = -7,
    	IANJUTA_DEBUGGER_CANCEL,
    	IANJUTA_DEBUGGER_UNABLE_TO_CREATE_VARIABLE,
    	IANJUTA_DEBUGGER_UNABLE_TO_ACCESS_MEMORY,
    	IANJUTA_DEBUGGER_UNABLE_TO_OPEN_FILE,
    	IANJUTA_DEBUGGER_UNKNOWN_ERROR
    } IAnjutaDebuggerError;

### enum IAnjutaDebuggerOutputType

    typedef enum {
    	IANJUTA_DEBUGGER_OUTPUT,
    	IANJUTA_DEBUGGER_WARNING_OUTPUT,
    	IANJUTA_DEBUGGER_ERROR_OUTPUT,
    	IANJUTA_DEBUGGER_INFO_OUTPUT
    } IAnjutaDebuggerOutputType;

### enum IAnjutaDebuggerState

    typedef enum {
    	IANJUTA_DEBUGGER_UNDEFINED = -1,
    	IANJUTA_DEBUGGER_NO = 0,
    	IANJUTA_DEBUGGER_YES = 1
    } IAnjutaDebuggerState;

### enum IAnjutaDebuggerStatus

    typedef enum {
    	IANJUTA_DEBUGGER_BUSY,
    	IANJUTA_DEBUGGER_STOPPED,
    	IANJUTA_DEBUGGER_STARTED,
    	IANJUTA_DEBUGGER_PROGRAM_LOADED,
    	IANJUTA_DEBUGGER_PROGRAM_RUNNING,
    	IANJUTA_DEBUGGER_PROGRAM_STOPPED
    } IAnjutaDebuggerStatus;

### IAnjutaDebuggerALine

    typedef struct {
    	guint address;
    	const gchar *label;
    	const gchar *text;
    } IAnjutaDebuggerALine;

### IAnjutaDebuggerBreakpoint

    typedef struct {
    	IAnjutaDebuggerBreakpointType type;
    	guint id;
    	gchar *file;
    	guint line;
    	gchar *function;
    	guint address;
    	IAnjutaDebuggerState enable;
    	guint ignore;
    	guint times;
    	gchar *condition;
    	IAnjutaDebuggerState keep;
    } IAnjutaDebuggerBreakpoint;

### IAnjutaDebuggerDisassembly

    typedef struct {
    	guint size;
    	IAnjutaDebuggerALine data[];
    } IAnjutaDebuggerDisassembly;

### IAnjutaDebuggerFrame

    typedef struct {
    	guint thread;
    	guint level;
    	gchar *args;
    	gchar *file;
    	guint line;
    	gchar *function;
    	gchar *library;
    	guint address;
    } IAnjutaDebuggerFrame;

### IAnjutaDebuggerMemory

    typedef struct {
    	guint address;
    	guint length;
    	gchar *data;
    } IAnjutaDebuggerMemory;

### IAnjutaDebuggerRegister

    typedef struct {
    	guint num;
    	gchar *name;
    	gchar *value;
    } IAnjutaDebuggerRegister;

### IAnjutaDebuggerVariable

    typedef struct {
    	gchar *name;
    	gchar *expression;
    	gchar *type;
    	gchar *value;
    	gboolean changed;
    	gint children;
    } IAnjutaDebuggerVariable;

### IANJUTA_DEBUGGER_ERROR

    #define IANJUTA_DEBUGGER_ERROR ianjuta_debugger_error_quark()

### IAnjutaDebuggerCallback ()

    void                (*IAnjutaDebuggerCallback)          (const gpointer data,
                                                             gpointer user_data,
                                                             GError *err);

`data` : |
`user_data` : |
`err` : |

### IAnjutaDebuggerGListCallback ()

    void                (*IAnjutaDebuggerGListCallback)     (const GList *list,
                                                             gpointer user_data,
                                                             GError *err);

`list` : |
`user_data` : |
`err` : |

### IAnjutaDebuggerGCharCallback ()

    void                (*IAnjutaDebuggerGCharCallback)     (const gchar *value,
                                                             gpointer user_data,
                                                             GError *err);

`value` : |
`user_data` : |
`err` : |

### IAnjutaDebuggerBreakpointCallback ()

    void                (*IAnjutaDebuggerBreakpointCallback)
                                                            (const IAnjutaDebuggerBreakpoint *breakpoint,
                                                             gpointer user_data,
                                                             GError *err);

`breakpoint` : |
`user_data` : |
`err` : |

### IAnjutaDebuggerOutputCallback ()

    void                (*IAnjutaDebuggerOutputCallback)    (IAnjutaDebuggerOutputType type,
                                                             const gchar *output,
                                                             gpointer user_data);

`type` : |
`output` : |
`user_data` : |

### IAnjutaDebuggerMemoryCallback ()

    void                (*IAnjutaDebuggerMemoryCallback)    (const gchar *address,
                                                             guint length,
                                                             const gchar *data,
                                                             gpointer user_data,
                                                             GError *err);

`address` : |
`length` : |
`data` : |
`user_data` : |
`err` : |

### IAnjutaDebuggerVariableCallback ()

    void                (*IAnjutaDebuggerVariableCallback)  (IAnjutaDebuggerVariable *variable,
                                                             gpointer user_data,
                                                             GError *err);

`variable` : |
`user_data` : |
`err` : |

### IAnjutaDebugger

    typedef struct _IAnjutaDebugger IAnjutaDebugger;

### IAnjutaDebuggerIface

    typedef struct {
    	GTypeInterface g_iface;

    	/* Signal */
    	void (*debugger_ready) (IAnjutaDebugger *obj, IAnjutaDebuggerStatus status);
    	/* Signal */
    	void (*debugger_started) (IAnjutaDebugger *obj);
    	/* Signal */
    	void (*debugger_stopped) (IAnjutaDebugger *obj, gint status);
    	/* Signal */
    	void (*frame_changed) (IAnjutaDebugger *obj, guint frame,  guint thread);
    	/* Signal */
    	void (*location_changed) (IAnjutaDebugger *obj, const gchar* file,  guint line,  guint address);
    	/* Signal */
    	void (*program_exited) (IAnjutaDebugger *obj);
    	/* Signal */
    	void (*program_loaded) (IAnjutaDebugger *obj);
    	/* Signal */
    	void (*program_running) (IAnjutaDebugger *obj);
    	/* Signal */
    	void (*program_stopped) (IAnjutaDebugger *obj, guint thread);
    	/* Signal */
    	void (*sharedlib_event) (IAnjutaDebugger *obj);
    	/* Signal */
    	void (*signal_received) (IAnjutaDebugger *obj, const gchar* name,  const gchar* description);

    	gboolean (*abort) (IAnjutaDebugger *obj, GError **err);
    	gboolean (*attach) (IAnjutaDebugger *obj, pid_t pid, const GList* source_search_directories, GError **err);
    	gboolean (*callback) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*clear_breakpoint) (IAnjutaDebugger *obj, guint id,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*condition_breakpoint) (IAnjutaDebugger *obj, guint id,  const gchar* condition,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	void (*disable_log) (IAnjutaDebugger *obj, GError **err);
    	gboolean (*enable_breakpoint) (IAnjutaDebugger *obj, guint id,  gboolean enable,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	void (*enable_log) (IAnjutaDebugger *obj, IAnjutaMessageView *log, GError **err);
    	gboolean (*evaluate) (IAnjutaDebugger *obj, const gchar* name,  const gchar* value,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*exit) (IAnjutaDebugger *obj, GError **err);
    	IAnjutaDebuggerStatus (*get_status) (IAnjutaDebugger *obj, GError **err);
    	gboolean (*handle_signal) (IAnjutaDebugger *obj, const gchar *name,  gboolean stop,  gboolean print,  gboolean ignore, GError **err);
    	gboolean (*ignore_breakpoint) (IAnjutaDebugger *obj, guint id,  guint ignore,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*info_args) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*info_frame) (IAnjutaDebugger *obj, guint frame,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*info_program) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*info_sharedlib) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*info_signal) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*info_target) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*info_thread) (IAnjutaDebugger *obj, guint thread,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*info_udot) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*info_variables) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*initialize) (IAnjutaDebugger *obj, IAnjutaDebuggerOutputCallback func,  gpointer user_data, GError **err);
    	gboolean (*inspect) (IAnjutaDebugger *obj, const gchar* name,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*interrupt) (IAnjutaDebugger *obj, GError **err);
    	gboolean (*list_argument) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*list_frame) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*list_local) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*list_register) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*list_thread) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*load) (IAnjutaDebugger *obj, const gchar *file,  const gchar *mime_type, const GList* source_search_directories,  gboolean terminal, GError **err);
    	gboolean (*print) (IAnjutaDebugger *obj, const gchar *variable,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*quit) (IAnjutaDebugger *obj, GError **err);
    	gboolean (*run) (IAnjutaDebugger *obj, GError **err);
    	gboolean (*run_to) (IAnjutaDebugger *obj, const gchar *uri,  gint line, GError **err);
    	gboolean (*send_command) (IAnjutaDebugger *obj, const gchar *command, GError **err);
    	gboolean (*set_breakpoint_at_address) (IAnjutaDebugger *obj, guint address,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*set_breakpoint_at_function) (IAnjutaDebugger *obj, const gchar* file,  const gchar* function,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*set_breakpoint_at_line) (IAnjutaDebugger *obj, const gchar* file,  guint line,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
    	gboolean (*set_frame) (IAnjutaDebugger *obj, guint frame, GError **err);
    	gboolean (*set_thread) (IAnjutaDebugger *obj, guint thread, GError **err);
    	gboolean (*start) (IAnjutaDebugger *obj, const gchar *args, GError **err);
    	gboolean (*step_in) (IAnjutaDebugger *obj, GError **err);
    	gboolean (*step_out) (IAnjutaDebugger *obj, GError **err);
    	gboolean (*step_over) (IAnjutaDebugger *obj, GError **err);
    	gboolean (*unload) (IAnjutaDebugger *obj, GError **err);
    } IAnjutaDebuggerIface;

### ianjuta_debugger_data_get_type ()

    GType               ianjuta_debugger_data_get_type      (void);

Returns : |

### ianjuta_debugger_error_get_type ()

    GType               ianjuta_debugger_error_get_type     (void);

Returns : |

### ianjuta_debugger_output_type_get_type ()

    GType               ianjuta_debugger_output_type_get_type
                                                            (void);

Returns : |

### ianjuta_debugger_state_get_type ()

    GType               ianjuta_debugger_state_get_type     (void);

Returns : |

### ianjuta_debugger_status_get_type ()

    GType               ianjuta_debugger_status_get_type    (void);

Returns : |

### ianjuta_debugger_error_quark ()

    GQuark              ianjuta_debugger_error_quark        (void);

Returns : |

### ianjuta_debugger_get_type ()

    GType               ianjuta_debugger_get_type           (void);

Returns : |

### ianjuta_debugger_abort ()

    gboolean            ianjuta_debugger_abort              (IAnjutaDebugger *obj,
                                                             GError **err);

Quit the debugger as fast as possible.

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | TRUE if sucessful, other FALSE.

### ianjuta_debugger_attach ()

    gboolean            ianjuta_debugger_attach             (IAnjutaDebugger *obj,
                                                             pid_t pid,
                                                             const GList *source_search_directories,
                                                             GError **err);

fixme

`obj` : | Self
`pid` : | fixme
`source_search_directories` : | fixme
`err` : | Error propagation and reporting.
Returns : | TRUE if sucessful, other FALSE.

### ianjuta_debugger_callback ()

    gboolean            ianjuta_debugger_callback           (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_clear_breakpoint ()

    gboolean            ianjuta_debugger_clear_breakpoint   (IAnjutaDebugger *obj,
                                                             guint id,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`id` : | fixme
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_condition_breakpoint ()

    gboolean            ianjuta_debugger_condition_breakpoint
                                                            (IAnjutaDebugger *obj,
                                                             guint id,
                                                             const gchar *condition,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`id` : | fixme
`condition` : | fixme
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_disable_log ()

    void                ianjuta_debugger_disable_log        (IAnjutaDebugger *obj,
                                                             GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.

### ianjuta_debugger_enable_breakpoint ()

    gboolean            ianjuta_debugger_enable_breakpoint  (IAnjutaDebugger *obj,
                                                             guint id,
                                                             gboolean enable,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`id` : | fixme
`enable` : | fixme
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_enable_log ()

    void                ianjuta_debugger_enable_log         (IAnjutaDebugger *obj,
                                                             IAnjutaMessageView *log,
                                                             GError **err);

fixme

`obj` : | Self
`log` : | fixme
`err` : | Error propagation and reporting.

### ianjuta_debugger_evaluate ()

    gboolean            ianjuta_debugger_evaluate           (IAnjutaDebugger *obj,
                                                             const gchar *name,
                                                             const gchar *value,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`name` : | fixme
`value` : | fixme
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_exit ()

    gboolean            ianjuta_debugger_exit               (IAnjutaDebugger *obj,
                                                             GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_get_status ()

    IAnjutaDebuggerStatus ianjuta_debugger_get_status       (IAnjutaDebugger *obj,
                                                             GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_handle_signal ()

    gboolean            ianjuta_debugger_handle_signal      (IAnjutaDebugger *obj,
                                                             const gchar *name,
                                                             gboolean stop,
                                                             gboolean print,
                                                             gboolean ignore,
                                                             GError **err);

fixme

`obj` : | Self
`name` : | fixme
`stop` : | fixme
`print` : | fixme
`ignore` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_ignore_breakpoint ()

    gboolean            ianjuta_debugger_ignore_breakpoint  (IAnjutaDebugger *obj,
                                                             guint id,
                                                             guint ignore,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`id` : | fixme
`ignore` : | fixme
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_info_args ()

    gboolean            ianjuta_debugger_info_args          (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_info_frame ()

    gboolean            ianjuta_debugger_info_frame         (IAnjutaDebugger *obj,
                                                             guint frame,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`frame` : | fixme
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_info_program ()

    gboolean            ianjuta_debugger_info_program       (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_info_sharedlib ()

    gboolean            ianjuta_debugger_info_sharedlib     (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_info_signal ()

    gboolean            ianjuta_debugger_info_signal        (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_info_target ()

    gboolean            ianjuta_debugger_info_target        (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : |
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_info_udot ()

    gboolean            ianjuta_debugger_info_udot          (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_info_variables ()

    gboolean            ianjuta_debugger_info_variables     (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_initialize ()

    gboolean            ianjuta_debugger_initialize         (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerOutputCallback func,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`func` : |
`user_data` : |
`err` : | Error propagation and reporting.
Returns : | TRUE if sucessful, other FALSE.

### ianjuta_debugger_inspect ()

    gboolean            ianjuta_debugger_inspect            (IAnjutaDebugger *obj,
                                                             const gchar *name,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`name` : | fixme
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_interrupt ()

    gboolean            ianjuta_debugger_interrupt          (IAnjutaDebugger *obj,
                                                             GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_list_argument ()

    gboolean            ianjuta_debugger_list_argument      (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_list_frame ()

    gboolean            ianjuta_debugger_list_frame         (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_list_local ()

    gboolean            ianjuta_debugger_list_local         (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_list_register ()

    gboolean            ianjuta_debugger_list_register      (IAnjutaDebugger *obj,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_load ()

    gboolean            ianjuta_debugger_load               (IAnjutaDebugger *obj,
                                                             const gchar *file,
                                                             const gchar *mime_type,
                                                             const GList *source_search_directories,
                                                             gboolean terminal,
                                                             GError **err);

fixme

`obj` : | Self
`file` : | fixme
`mime_type` : | fixme
`source_search_directories` : | fixme
`terminal` : | fixme
`err` : | Error propagation and reporting.
Returns : | TRUE if sucessful, other FALSE.

### ianjuta_debugger_print ()

    gboolean            ianjuta_debugger_print              (IAnjutaDebugger *obj,
                                                             const gchar *variable,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`variable` : | fixme
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_quit ()

    gboolean            ianjuta_debugger_quit               (IAnjutaDebugger *obj,
                                                             GError **err);

Quit the debugger, can wait until the debugger is ready.

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | TRUE if sucessful, other FALSE.

### ianjuta_debugger_run ()

    gboolean            ianjuta_debugger_run                (IAnjutaDebugger *obj,
                                                             GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_run_to ()

    gboolean            ianjuta_debugger_run_to             (IAnjutaDebugger *obj,
                                                             const gchar *uri,
                                                             gint line,
                                                             GError **err);

fixme

`obj` : | Self
`uri` : | fixme
`line` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_send_command ()

    gboolean            ianjuta_debugger_send_command       (IAnjutaDebugger *obj,
                                                             const gchar *command,
                                                             GError **err);

fixme

`obj` : | Self
`command` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_set_breakpoint_at_address ()

    gboolean            ianjuta_debugger_set_breakpoint_at_address
                                                            (IAnjutaDebugger *obj,
                                                             guint address,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`address` : | fixme
`callback` : | fixme
`user_data` : |
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_set_breakpoint_at_function ()

    gboolean            ianjuta_debugger_set_breakpoint_at_function
                                                            (IAnjutaDebugger *obj,
                                                             const gchar *file,
                                                             const gchar *function,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`file` : | fixme
`function` : | fixme
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_set_breakpoint_at_line ()

    gboolean            ianjuta_debugger_set_breakpoint_at_line
                                                            (IAnjutaDebugger *obj,
                                                             const gchar *file,
                                                             guint line,
                                                             IAnjutaDebuggerCallback callback,
                                                             gpointer user_data,
                                                             GError **err);

fixme

`obj` : | Self
`file` : | fixme
`line` : | fixme
`callback` : | fixme
`user_data` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_set_frame ()

    gboolean            ianjuta_debugger_set_frame          (IAnjutaDebugger *obj,
                                                             guint frame,
                                                             GError **err);

fixme

`obj` : | Self
`frame` : | fixme
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_start ()

    gboolean            ianjuta_debugger_start              (IAnjutaDebugger *obj,
                                                             const gchar *args,
                                                             GError **err);

fixme

`obj` : | Self
`args` : | fixme
`err` : | Error propagation and reporting.
Returns : | TRUE if sucessful, other FALSE.

### ianjuta_debugger_step_in ()

    gboolean            ianjuta_debugger_step_in            (IAnjutaDebugger *obj,
                                                             GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_step_out ()

    gboolean            ianjuta_debugger_step_out           (IAnjutaDebugger *obj,
                                                             GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_step_over ()

    gboolean            ianjuta_debugger_step_over          (IAnjutaDebugger *obj,
                                                             GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | fixme

### ianjuta_debugger_unload ()

    gboolean            ianjuta_debugger_unload             (IAnjutaDebugger *obj,
                                                             GError **err);

fixme

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | fixme

## Signal Details

### The "debugger-ready" signal

    void                user_function                      (IAnjutaDebugger      *ianjutadebugger,
                                                            IAnjutaDebuggerStatus arg1,
                                                            gpointer              user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The "debugger-started" signal

    void                user_function                      (IAnjutaDebugger *ianjutadebugger,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The "debugger-stopped" signal

    void                user_function                      (IAnjutaDebugger *ianjutadebugger,
                                                            gint             arg1,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The "frame-changed" signal

    void                user_function                      (IAnjutaDebugger *ianjutadebugger,
                                                            guint            arg1,
                                                            guint            arg2,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`arg1` : |
`arg2` : |
`user_data` : | user data set when the signal handler was connected.

### The "location-changed" signal

    void                user_function                      (IAnjutaDebugger *ianjutadebugger,
                                                            gchar           *arg1,
                                                            guint            arg2,
                                                            guint            arg3,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`arg1` : |
`arg2` : |
`arg3` : |
`user_data` : | user data set when the signal handler was connected.

### The "program-exited" signal

    void                user_function                      (IAnjutaDebugger *ianjutadebugger,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The "program-loaded" signal

    void                user_function                      (IAnjutaDebugger *ianjutadebugger,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The "program-running" signal

    void                user_function                      (IAnjutaDebugger *ianjutadebugger,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The "program-stopped" signal

    void                user_function                      (IAnjutaDebugger *ianjutadebugger,
                                                            guint            arg1,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The "sharedlib-event" signal

    void                user_function                      (IAnjutaDebugger *ianjutadebugger,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The "signal-received" signal

    void                user_function                      (IAnjutaDebugger *ianjutadebugger,
                                                            gchar           *arg1,
                                                            gchar           *arg2,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`arg1` : |
`arg2` : |
`user_data` : | user data set when the signal handler was connected.