IAnjutaDebuggerInstruction

IAnjutaDebuggerInstruction — Debugger interface for machine instruction

Stability Level

Unstable, unless otherwise indicated

Synopsis


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


                    IAnjutaDebuggerInstructionALine;
                    IAnjutaDebuggerInstructionDisassembly;
#define             IANJUTA_DEBUGGER_INSTRUCTION_ERROR
                    IAnjutaDebuggerInstruction;
                    IAnjutaDebuggerInstructionIface;
GQuark              ianjuta_debugger_instruction_error_quark
                                                        (void);
gboolean            ianjuta_debugger_instruction_disassemble
                                                        (IAnjutaDebuggerInstruction *obj,
                                                         gulong address,
                                                         guint length,
                                                         IAnjutaDebuggerCallback callback,
                                                         gpointer user_data,
                                                         GError **err);
gboolean            ianjuta_debugger_instruction_run_to_address
                                                        (IAnjutaDebuggerInstruction *obj,
                                                         gulong address,
                                                         GError **err);
gboolean            ianjuta_debugger_instruction_step_in
                                                        (IAnjutaDebuggerInstruction *obj,
                                                         GError **err);
gboolean            ianjuta_debugger_instruction_step_over
                                                        (IAnjutaDebuggerInstruction *obj,
                                                         GError **err);

Object Hierarchy


  GInterface
   +----IAnjutaDebuggerInstruction

Prerequisites

IAnjutaDebuggerInstruction requires IAnjutaDebugger and GObject.

Description

This interface is used to debuger as machine instruction level.

Details

IAnjutaDebuggerInstructionALine

typedef struct {
	gulong address;
	const gchar *label;
	const gchar *text;
} IAnjutaDebuggerInstructionALine;


IAnjutaDebuggerInstructionDisassembly

typedef struct {
	guint size;
	IAnjutaDebuggerInstructionALine data[];
} IAnjutaDebuggerInstructionDisassembly;


IANJUTA_DEBUGGER_INSTRUCTION_ERROR

#define IANJUTA_DEBUGGER_INSTRUCTION_ERROR ianjuta_debugger_instruction_error_quark()


IAnjutaDebuggerInstruction

typedef struct _IAnjutaDebuggerInstruction IAnjutaDebuggerInstruction;


IAnjutaDebuggerInstructionIface

typedef struct {
	IAnjutaDebuggerIface g_iface;
	

	gboolean (*disassemble) (IAnjutaDebuggerInstruction *obj, gulong address,  guint length,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
	gboolean (*run_to_address) (IAnjutaDebuggerInstruction *obj, gulong address, GError **err);
	gboolean (*step_in) (IAnjutaDebuggerInstruction *obj, GError **err);
	gboolean (*step_over) (IAnjutaDebuggerInstruction *obj, GError **err);
} IAnjutaDebuggerInstructionIface;


ianjuta_debugger_instruction_error_quark ()

GQuark              ianjuta_debugger_instruction_error_quark
                                                        (void);

Returns :

ianjuta_debugger_instruction_disassemble ()

gboolean            ianjuta_debugger_instruction_disassemble
                                                        (IAnjutaDebuggerInstruction *obj,
                                                         gulong address,
                                                         guint length,
                                                         IAnjutaDebuggerCallback callback,
                                                         gpointer user_data,
                                                         GError **err);

Disassemble a part of the memory

obj : Self
address : Start address of the memory block
length : Length of memory block
callback : Call back with a IAnjutaDebuggerInstructionDisassembly as argument
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_instruction_run_to_address ()

gboolean            ianjuta_debugger_instruction_run_to_address
                                                        (IAnjutaDebuggerInstruction *obj,
                                                         gulong address,
                                                         GError **err);

Start the program until it reachs the address address

obj : Self
address : Run to this addresss
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_instruction_step_in ()

gboolean            ianjuta_debugger_instruction_step_in
                                                        (IAnjutaDebuggerInstruction *obj,
                                                         GError **err);

Execute one assembler instruction in the program.

obj : Self
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_instruction_step_over ()

gboolean            ianjuta_debugger_instruction_step_over
                                                        (IAnjutaDebuggerInstruction *obj,
                                                         GError **err);

Execute one assembler instruction in the program, if the instruction is a function call, continues until the function returns.

obj : Self
err : Error propagation and reporting.
Returns : TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called.