## IAnjutaDebugger

IAnjutaDebugger — Debugger interface

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

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

    #define             IANJUTA_TYPE_DEBUGGER_DATA
    #define             IANJUTA_TYPE_DEBUGGER_ERROR
    #define             IANJUTA_TYPE_DEBUGGER_OUTPUT_TYPE
    #define             IANJUTA_TYPE_DEBUGGER_STATE
    enum                IAnjutaDebuggerData;
    enum                IAnjutaDebuggerError;
    enum                IAnjutaDebuggerOutputType;
    enum                IAnjutaDebuggerState;
                        IAnjutaDebuggerFrame;
    #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                (*IAnjutaDebuggerOutputCallback)    (IAnjutaDebuggerOutputType type,
                                                             const gchar *output,
                                                             gpointer user_data);
    void                (*IAnjutaDebuggerMemoryCallback)    (gulong address,
                                                             guint length,
                                                             const gchar *data,
                                                             gpointer user_data,
                                                             GError *err);
                        IAnjutaDebugger;
                        IAnjutaDebuggerIface;

## Object Hierarchy

      GInterface
       +----IAnjutaDebugger

## Prerequisites

IAnjutaDebugger requires GObject.

## Known Derived Interfaces

IAnjutaDebugger is required by IAnjutaDebuggerRegister, IAnjutaDebuggerMemory, IAnjutaDebuggerInstruction, IAnjutaDebuggerBreakpoint and IAnjutaDebuggerVariable.

## Signals

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

## Description

## Details

### 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())

### 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,
    	IANJUTA_DEBUGGER_NOT_RUNNING,
    	IANJUTA_DEBUGGER_NOT_STOPPED,
    	IANJUTA_DEBUGGER_NOT_LOADED,
    	IANJUTA_DEBUGGER_NOT_STARTED,
    	IANJUTA_DEBUGGER_NOT_CONNECTED,
    	IANJUTA_DEBUGGER_NOT_IMPLEMENTED,
    	IANJUTA_DEBUGGER_CANCEL,
    	IANJUTA_DEBUGGER_UNABLE_TO_CREATE_VARIABLE,
    	IANJUTA_DEBUGGER_UNABLE_TO_ACCESS_MEMORY,
    	IANJUTA_DEBUGGER_UNABLE_TO_OPEN_FILE,
    	IANJUTA_DEBUGGER_UNSUPPORTED_FILE_TYPE,
    	IANJUTA_DEBUGGER_UNSUPPORTED_VERSION,
    	IANJUTA_DEBUGGER_UNABLE_TO_FIND_DEBUGGER,
    	IANJUTA_DEBUGGER_ALREADY_DONE,
    	IANJUTA_DEBUGGER_UNKNOWN_ERROR,
    	IANJUTA_DEBUGGER_OTHER_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_BUSY,
    	IANJUTA_DEBUGGER_STOPPED,
    	IANJUTA_DEBUGGER_STARTED,
    	IANJUTA_DEBUGGER_PROGRAM_LOADED,
    	IANJUTA_DEBUGGER_PROGRAM_STOPPED,
    	IANJUTA_DEBUGGER_PROGRAM_RUNNING
    } IAnjutaDebuggerState;

### IAnjutaDebuggerFrame

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

### 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` : |

### IAnjutaDebuggerOutputCallback ()

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

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

### IAnjutaDebuggerMemoryCallback ()

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

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

### IAnjutaDebugger

    typedef struct _IAnjutaDebugger IAnjutaDebugger;

### IAnjutaDebuggerIface

    typedef struct _IAnjutaDebuggerIface IAnjutaDebuggerIface;

## Signal Details

### The `"debugger-ready"` signal

    void                user_function                      (IAnjutaDebugger     *ianjutadebugger,
                                                            IAnjutaDebuggerState 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,
                                                            GError          *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,
                                                            gint             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 `"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-moved"` signal

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

`ianjutadebugger` : | the object which received the signal.
`arg1` : |
`arg2` : |
`arg3` : |
`arg4` : |
`arg5` : |
`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,
                                                            gpointer         user_data)            : Run Last

`ianjutadebugger` : | the object which received the signal.
`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.