IAnjutaDebuggerVariable

IAnjutaDebuggerVariable — Variables interface for debuggers

Stability Level

Unstable, unless otherwise indicated

Object Hierarchy

    GInterface
    ╰── IAnjutaDebuggerVariable

Includes

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

Description

This interface is used to examine and change values of expression. It is based on the MI2 variable object interface of gdb. A variable needs to be created before being able to get or set its value and list its children.

Functions

IAnjutaDebuggerVariableCallback ()

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

This callback function is used to return a IAnjutaDebuggerVariableObject.

Parameters

data

a IAnjutaDebuggerVariableObject object

 

user_data

user data passed to the function

 

err

error

 

ianjuta_debugger_variable_error_quark ()

GQuark
ianjuta_debugger_variable_error_quark (void);

Returns


ianjuta_debugger_variable_assign ()

gboolean
ianjuta_debugger_variable_assign (IAnjutaDebuggerVariable *obj,
                                  const gchar *name,
                                  const gchar *value,
                                  GError **err);

Set the value of one variable or child object.

Parameters

obj

Self

 

name

Variable name

 

value

Variable value

 

err

Error propagation and reporting.

 

Returns

TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called.


ianjuta_debugger_variable_create ()

gboolean
ianjuta_debugger_variable_create (IAnjutaDebuggerVariable *obj,
                                  const gchar *expression,
                                  IAnjutaDebuggerVariableCallback callback,
                                  gpointer user_data,
                                  GError **err);

Create a new variable object in the current thread and frame.

Parameters

obj

Self

 

expression

Variable expression

 

callback

Callback to call when the variable has been created

 

user_data

User data that is passed back to the callback

 

err

Error propagation and reporting.

 

Returns

TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called.


ianjuta_debugger_variable_destroy ()

gboolean
ianjuta_debugger_variable_destroy (IAnjutaDebuggerVariable *obj,
                                   const gchar *name,
                                   GError **err);

Delete a previously created variable or child object including its own children.

Parameters

obj

Self

 

name

Variable name

 

err

Error propagation and reporting.

 

Returns

TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called.


ianjuta_debugger_variable_evaluate ()

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

Get the value of one variable or child object.

Parameters

obj

Self

 

name

Variable name

 

callback

Callback to call with the variable value

 

user_data

User data that is passed back to the callback

 

err

Error propagation and reporting.

 

Returns

TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called.


ianjuta_debugger_variable_list_children ()

gboolean
ianjuta_debugger_variable_list_children
                               (IAnjutaDebuggerVariable *obj,
                                const gchar *name,
                                guint from,
                                IAnjutaDebuggerGListCallback callback,
                                gpointer user_data,
                                GError **err);

List and create objects for variable object's children. The backend can returns only a part of the children, in this case a last variable with a NULL name is added to the list given to the callback function. If the remaining children are wanted, this function must be called again with a from argument corresponding to the first missing children.

Parameters

obj

Self

 

name

Variable name

 

from

Starting from this children (zero-based)

 

callback

Callback to call when the children have been created with a list of variable objects

 

user_data

User data that is passed back to the callback

 

err

Error propagation and reporting.

 

Returns

TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called.


ianjuta_debugger_variable_update ()

gboolean
ianjuta_debugger_variable_update (IAnjutaDebuggerVariable *obj,
                                  IAnjutaDebuggerGListCallback callback,
                                  gpointer user_data,
                                  GError **err);

List all changed variable objects since the last call.

Parameters

obj

Self

 

callback

Callback to call with the list of all changed variable names

 

user_data

User data that is passed back to the callback

 

err

Error propagation and reporting.

 

Returns

TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called.

Types and Values

IANJUTA_DEBUGGER_VARIABLE_ERROR

#define IANJUTA_DEBUGGER_VARIABLE_ERROR ianjuta_debugger_variable_error_quark()


struct IAnjutaDebuggerVariableObject

struct IAnjutaDebuggerVariableObject {
	gchar *name;
	gchar *expression;
	gchar *type;
	gchar *value;
	gboolean changed;
	gboolean exited;
	gboolean deleted;
	gint children;
	gboolean has_more;
};

Defines a variable object.

Members

gchar *name;

unique variable object name created by backend

 

gchar *expression;

corresponding variable name or expression

 

gchar *type;

variable type

 

gchar *value;

variable value

 

gboolean changed;

TRUE if the variable has changed

 

gboolean exited;

TRUE if the variable is outside current scope

 

gboolean deleted;

TRUE if the variable has been removed

 

gint children;

Number of variable children, -1 if unknown

 

gboolean has_more;

TRUE if the children value is wrong