## IAnjutaDebugger

IAnjutaDebugger — Debugger interface

## Stability Level

Unstable, unless otherwise indicated

## Functions

void | (*IAnjutaDebuggerCallback) ()
void | (*IAnjutaDebuggerGListCallback) ()
void | (*IAnjutaDebuggerGCharCallback) ()
void | (*IAnjutaDebuggerOutputCallback) ()
GQuark | ianjuta_debugger_error_quark ()
gboolean | ianjuta_debugger_abort ()
gboolean | ianjuta_debugger_attach ()
gboolean | ianjuta_debugger_callback ()
gboolean | ianjuta_debugger_connect ()
void | ianjuta_debugger_disable_log ()
gboolean | ianjuta_debugger_dump_stack_trace ()
void | ianjuta_debugger_enable_log ()
gboolean | ianjuta_debugger_evaluate ()
gboolean | ianjuta_debugger_exit ()
IAnjutaDebuggerState | ianjuta_debugger_get_state ()
gboolean | ianjuta_debugger_handle_signal ()
gboolean | ianjuta_debugger_info_args ()
gboolean | ianjuta_debugger_info_frame ()
gboolean | ianjuta_debugger_info_program ()
gboolean | ianjuta_debugger_info_sharedlib ()
gboolean | ianjuta_debugger_info_signal ()
gboolean | ianjuta_debugger_info_target ()
gboolean | ianjuta_debugger_info_thread ()
gboolean | ianjuta_debugger_info_udot ()
gboolean | ianjuta_debugger_info_variables ()
gboolean | ianjuta_debugger_inspect ()
gboolean | ianjuta_debugger_interrupt ()
gboolean | ianjuta_debugger_list_argument ()
gboolean | ianjuta_debugger_list_frame ()
gboolean | ianjuta_debugger_list_local ()
gboolean | ianjuta_debugger_list_thread ()
gboolean | ianjuta_debugger_load ()
gboolean | ianjuta_debugger_print ()
gboolean | ianjuta_debugger_quit ()
gboolean | ianjuta_debugger_run ()
gboolean | ianjuta_debugger_run_from ()
gboolean | ianjuta_debugger_run_to ()
gboolean | ianjuta_debugger_send_command ()
gboolean | ianjuta_debugger_set_environment ()
gboolean | ianjuta_debugger_set_frame ()
gboolean | ianjuta_debugger_set_thread ()
gboolean | ianjuta_debugger_set_working_directory ()
gboolean | ianjuta_debugger_start ()
gboolean | ianjuta_debugger_step_in ()
gboolean | ianjuta_debugger_step_out ()
gboolean | ianjuta_debugger_step_over ()
gboolean | ianjuta_debugger_unload ()

## Signals

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

## Types and Values

enum | IAnjutaDebuggerError
enum | IAnjutaDebuggerOutputType
enum | IAnjutaDebuggerState
struct | IAnjutaDebuggerFrame

## Object Hierarchy

        GEnum
        ├── IAnjutaDebuggerError
        ├── IAnjutaDebuggerOutputType
        ╰── IAnjutaDebuggerState
        GInterface
        ╰── IAnjutaDebugger

## Includes

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

## Description

This interface is implemented by debugger backends, by example the gdb backend. It is used by the debug manager plugin which provides the graphical interface and a simple wrapper: IAnjutaDebugManager.

The debugger is in one on these 5 states and emit a signal to the debug manager when it changes. Here is figure showing all transitions and the signal emitted.

Figure 2.

## Functions

### IAnjutaDebuggerCallback ()

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

This callback function is used only by ianjuta_debugger_callback with a NULL data.

#### Parameters

data | data |
user_data | user data passed to the function |
err | error |

### IAnjutaDebuggerGListCallback ()

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

This callback function is used by several debugger functions. Depending on the function, the kind of elements in the list is different. It is a string for ianjuta_debugger_list_local or a IAnjutaDebuggerFrame for ianjuta_debugger_list_frame.

#### Parameters

list | list of data. | [element-type any]
user_data | user data passed to the function |
err | error |

### IAnjutaDebuggerGCharCallback ()

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

This callback function is used by several debugger functions. The data is a string

#### Parameters

value | string |
user_data | user data |
err | error |

### IAnjutaDebuggerOutputCallback ()

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

This callback function is used only by ianjuta_debugger_callback with a NULL data.

#### Parameters

type | kind of output |
output | string |
user_data | user data |

### ianjuta_debugger_error_quark ()

    GQuark
    ianjuta_debugger_error_quark (void);

### ianjuta_debugger_abort ()

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

Quit the debugger as fast as possible.

#### Parameters

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

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_attach ()

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

Attach to an already running process.

#### Parameters

obj | Self |
pid | pid of the process to debug |
source_search_directories | List of directories to search for source files. | [element-type utf8]
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);

All commands are executed asynchronously and give back information with callbacks. It is difficult to know when a command is really executed. But as all commands are executed in order, you can use this command to get a call back when all previous commands have been executed.

#### Parameters

obj | Self |
callback | Callback to call. the data argument is NULL. |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_connect ()

    gboolean
    ianjuta_debugger_connect (IAnjutaDebugger *obj,
                              const gchar *server,
                              const gchar *args,
                              gboolean terminal,
                              gboolean stop,
                              GError **err);

Connect to a remote debugger and run program

#### Parameters

obj | Self |
server | remote server |
args | command line argument of the program |
terminal | TRUE if the program need a terminal |
stop | TRUE if program is stopped at the beginning |
err | Error propagation and reporting |

#### Returns

TRUE if sucessfull, otherwise FALSE.

### ianjuta_debugger_disable_log ()

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

Disable debugger log.

#### Parameters

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

### ianjuta_debugger_dump_stack_trace ()

    gboolean
    ianjuta_debugger_dump_stack_trace (IAnjutaDebugger *obj,
                                       IAnjutaDebuggerGListCallback callback,
                                       gpointer user_data,
                                       GError **err);

Return a stack trace valid for a bug reports. This function is optional.

#### Parameters

obj | Self |
callback | Callback to call getting a list of strings |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_enable_log ()

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

Log all debuggers commands, mainly useful for debugging.

#### Parameters

obj | Self |
log | MessageView used by log |
err | Error propagation and reporting. |

### ianjuta_debugger_evaluate ()

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

Change the value of a variable in the current program.

#### Parameters

obj | Self |
name | variable name |
value | new variable value |
callback | Callback to call when the variable has been modified |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_exit ()

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

Exit from the currently loaded program.

#### Parameters

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

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_get_state ()

    IAnjutaDebuggerState
    ianjuta_debugger_get_state (IAnjutaDebugger *obj,
                                GError **err);

Get the current state of the debugger

#### Parameters

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

#### Returns

The current debugger state.

### ianjuta_debugger_handle_signal ()

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

It defines how to handle signal received by the program.

#### Parameters

obj | Self |
name | signal name |
stop | TRUE if we need to stop signal |
print | TRUE if we display a message when the signal is emitted |
ignore | TRUE if we ignore the signal |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_info_args ()

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

Get some informatin about a current functin arguments. This function has been deprecated and is not used anymore in the debugger GUI.

#### Parameters

obj | Self |
callback | Callback to call getting a list of strings with all information |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_info_frame ()

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

Get some information about the one stack frame. This function has been deprecated and is not used anymore in the debugger GUI.

#### Parameters

obj | Self |
frame | frame number, the top frame has the number 0 |
callback | Callback to call getting a list of strings with all information |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_info_program ()

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

Get some informatin about a current program. This function has been deprecated and is not used anymore in the debugger GUI.

#### Parameters

obj | Self |
callback | Callback to call getting a list of strings with all information |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_info_sharedlib ()

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

Get information about shared libraries.

#### Parameters

obj | Self |
callback | Callback to call with list of arguments |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_info_signal ()

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

Get some informatin about a signal

#### Parameters

obj | Self |
callback | Callback to call with list of arguments |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_info_target ()

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

Get back some information about the target This function has been deprecated and is not used anymore in the debugger GUI.

#### Parameters

obj | Self |
callback | Callback to call getting a list of strings with all information |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_info_thread ()

    gboolean
    ianjuta_debugger_info_thread (IAnjutaDebugger *obj,
                                  gint thread,
                                  IAnjutaDebuggerGListCallback callback,
                                  gpointer user_data,
                                  GError **err);

Get some information about current threads.

#### Parameters

obj | Self |
thread | thread number |
callback | Callback to call getting a list of strings with all information |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_info_udot ()

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

Get some informatin about OS structures. This function has been deprecated and is not used anymore in the debugger GUI.

#### Parameters

obj | Self |
callback | Callback to call getting a list of strings with all information |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_info_variables ()

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

Get some informatin about variables. This function has been deprecated and is not used anymore in the debugger GUI.

#### Parameters

obj | Self |
callback | Callback to call getting a list of strings with all information |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_inspect ()

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

Get back the value of the named variable.

#### Parameters

obj | Self |
name | variable name |
callback | Callback to call with variable value |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_interrupt ()

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

Interrupt the program currently running.

#### Parameters

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

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_list_argument ()

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

Get the list of arguments

#### Parameters

obj | Self |
callback | Callback to call with list of arguments |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_list_frame ()

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

Get the list of frames.

#### Parameters

obj | Self |
callback | Callback to call getting a list of IAnjutaDebuggerFrame |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_list_local ()

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

Get the list of local variables

#### Parameters

obj | Self |
callback | Callback to call with list of local variable |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_list_thread ()

    gboolean
    ianjuta_debugger_list_thread (IAnjutaDebugger *obj,
                                  IAnjutaDebuggerGListCallback callback,
                                  gpointer user_data,
                                  GError **err);

Get the list of threads.

#### Parameters

obj | Self |
callback | Callback to call getting a list of IAnjutaDebuggerFrame for each thread |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_load ()

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

Load a program in the debugger.

#### Parameters

obj | Self |
file | filename |
mime_type | mime type of the file |
source_search_directories | List of directories to search for source files. | [element-type utf8]
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, other FALSE.

### ianjuta_debugger_print ()

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

Display value of a variable, like inspect.

#### Parameters

obj | Self |
name | variable name |
callback | Callback to call with variable value |
user_data | User data that is passed back to the callback |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_quit ()

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

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

#### Parameters

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

#### Returns

TRUE if sucessful, other FALSE.

### ianjuta_debugger_run ()

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

Run the program currently loaded.

#### Parameters

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

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_run_from ()

    gboolean
    ianjuta_debugger_run_from (IAnjutaDebugger *obj,
                               const gchar *file,
                               gint line,
                               GError **err);

Execute the program from a new position. This function is optional.

#### Parameters

obj | Self |
file | target file name |
line | target line in file |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_run_to ()

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

Execute the currently loaded program until it reachs the target line.

#### Parameters

obj | Self |
file | target file name |
line | target line in file |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_send_command ()

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

Send a command directly to the debugger. Warning, changing the debugger states, by sending a run command by example, will probably gives some troubles in the debug manager.

#### Parameters

obj | Self |
command | command |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_set_environment ()

    gboolean
    ianjuta_debugger_set_environment (IAnjutaDebugger *obj,
                                      gchar **env,
                                      GError **err);

Set environment variable

#### Parameters

obj | Self |
env | List environment variable |
err | Error propagation and reporting |

#### Returns

TRUE if sucessfull, other FALSE.

### ianjuta_debugger_set_frame ()

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

Set the current frame.

#### Parameters

obj | Self |
frame | frame number |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_set_thread ()

    gboolean
    ianjuta_debugger_set_thread (IAnjutaDebugger *obj,
                                 gint thread,
                                 GError **err);

Set the current thread.

#### Parameters

obj | Self |
thread | thread number |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_set_working_directory ()

    gboolean
    ianjuta_debugger_set_working_directory
                                   (IAnjutaDebugger *obj,
                                    const gchar *dir,
                                    GError **err);

Set program working directory.

#### Parameters

obj | Self |
dir | working program directory |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, other FALSE.

### ianjuta_debugger_start ()

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

Start a loaded program under debugger control.

#### Parameters

obj | Self |
args | command line argument of the program |
terminal | TRUE if the program need a terminal |
stop | TRUE if program is stopped at the beginning |
err | Error propagation and reporting. |

#### Returns

TRUE if sucessful, other FALSE.

### ianjuta_debugger_step_in ()

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

Execute a single C instruction of the program currently loaded.

#### Parameters

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

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_step_out ()

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

Execute the currently loaded program until it goes out of the current procedure.

#### Parameters

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

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_step_over ()

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

Execute one C instruction, without entering in procedure, of the program currently loaded.

#### Parameters

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

#### Returns

TRUE if sucessful, otherwise FALSE.

### ianjuta_debugger_unload ()

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

Unload a program.

#### Parameters

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

#### Returns

TRUE if sucessfull, otherwise FALSE.

## Types and Values

### enum IAnjutaDebuggerError

This enumeration is used to defined the error returned by the debugger backend.

#### Members

IANJUTA_DEBUGGER_OK | No error |
IANJUTA_DEBUGGER_NOT_READY | Debugger is not ready to execute the command |
IANJUTA_DEBUGGER_NOT_RUNNING | Debugger is not is running state |
IANJUTA_DEBUGGER_NOT_STOPPED | Debugger is not is stopped state |
IANJUTA_DEBUGGER_NOT_LOADED | Debugger is not is loaded state |
IANJUTA_DEBUGGER_NOT_STARTED | Debugger is not in started state |
IANJUTA_DEBUGGER_NOT_CONNECTED | Debugger is not connected: |
IANJUTA_DEBUGGER_NOT_IMPLEMENTED | Corresponding function is not implemented |
IANJUTA_DEBUGGER_CANCEL | Operation has been cancelled |
IANJUTA_DEBUGGER_UNABLE_TO_CREATE_VARIABLE | Debugger cannot create variable |
IANJUTA_DEBUGGER_UNABLE_TO_ACCESS_MEMORY | Debugger cannot access memory |
IANJUTA_DEBUGGER_UNABLE_TO_OPEN_FILE | Debugger cannot open file |
IANJUTA_DEBUGGER_UNSUPPORTED_FILE_TYPE | Debugger cannot debug such file |
IANJUTA_DEBUGGER_UNSUPPORTED_VERSION | Debugger is too old |
IANJUTA_DEBUGGER_UNABLE_TO_FIND_DEBUGGER | Debugger cannot be found |
IANJUTA_DEBUGGER_ALREADY_DONE | Command has already been executed |
IANJUTA_DEBUGGER_PROGRAM_NOT_FOUND | Program cannot be found |
IANJUTA_DEBUGGER_UNABLE_TO_CONNECT | Unable to connect to debugger |
IANJUTA_DEBUGGER_UNKNOWN_ERROR | Unknown error |
IANJUTA_DEBUGGER_OTHER_ERROR | other error |

### enum IAnjutaDebuggerOutputType

This enumeration is used to defined the kind of output in IAnjutaDebuggerOutputCallback

#### Members

IANJUTA_DEBUGGER_OUTPUT | Output from debugger |
IANJUTA_DEBUGGER_WARNING_OUTPUT | Warning from debugger |
IANJUTA_DEBUGGER_ERROR_OUTPUT | Error from debugger |
IANJUTA_DEBUGGER_INFO_OUTPUT | Additional message from debugger |

### enum IAnjutaDebuggerState

This enumeration is used to defined the different state of the debugger.

#### Members

IANJUTA_DEBUGGER_BUSY | Debugger is executing a command, it can enter in another at the end of the command. |
IANJUTA_DEBUGGER_STOPPED | Debugger is stopped. |
IANJUTA_DEBUGGER_STARTED | Debugger is started but no program is loaded. |
IANJUTA_DEBUGGER_PROGRAM_LOADED | Debugger is started and has a program loaded. |
IANJUTA_DEBUGGER_PROGRAM_STOPPED | Debugger is started and has a program stopped. |
IANJUTA_DEBUGGER_PROGRAM_RUNNING | Debugger is started and has a program running. |

### struct IAnjutaDebuggerFrame

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

This structure keeps all information about a stack frame.

#### Members

gint `thread`; | Thread identifier. |
guint `level`; | Level of the frame, 0 is the topmost one. |
gchar *`args`; | List of argument of the caller. |
gchar *`file`; | Source file name where is the program counter. |
guint `line`; | Line number in the file above. |
gchar *`function`; | Function name where is the program counter. |
gchar *`library`; | Library name where is the program counter. |
gulong `address`; | Address of the program counter. |

## Signal Details

### The `“debugger-ready”` signal

    void
    user_function (IAnjutaDebugger     *ianjutadebugger,
                   IAnjutaDebuggerState arg1,
                   gpointer             user_data)

Flags: Run Last

### The `“debugger-started”` signal

    void
    user_function (IAnjutaDebugger *ianjutadebugger,
                   gpointer         user_data)

Flags: Run Last

### The `“debugger-stopped”` signal

    void
    user_function (IAnjutaDebugger *ianjutadebugger,
                   GError          *arg1,
                   gpointer         user_data)

Flags: Run Last

### The `“frame-changed”` signal

    void
    user_function (IAnjutaDebugger *ianjutadebugger,
                   guint            arg1,
                   gint             arg2,
                   gpointer         user_data)

Flags: Run Last

### The `“program-exited”` signal

    void
    user_function (IAnjutaDebugger *ianjutadebugger,
                   gpointer         user_data)

Flags: Run Last

### The `“program-loaded”` signal

    void
    user_function (IAnjutaDebugger *ianjutadebugger,
                   gpointer         user_data)

Flags: Run Last

### The `“program-moved”` signal

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

Flags: Run Last

### The `“program-running”` signal

    void
    user_function (IAnjutaDebugger *ianjutadebugger,
                   gpointer         user_data)

Flags: Run Last

### The `“program-stopped”` signal

    void
    user_function (IAnjutaDebugger *ianjutadebugger,
                   gpointer         user_data)

Flags: Run Last

### The `“sharedlib-event”` signal

    void
    user_function (IAnjutaDebugger *ianjutadebugger,
                   gpointer         user_data)

Flags: Run Last

### The `“signal-received”` signal

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

Flags: Run Last

## See Also

IAnjutaDebugManager