IAnjutaDebuggerInstruction

IAnjutaDebuggerInstruction — Debugger interface for machine instruction

Stability Level

Unstable, unless otherwise indicated

Synopsis

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

#define             IANJUTA_DEBUGGER_INSTRUCTION_ERROR
                    IAnjutaDebuggerInstruction;
                    IAnjutaDebuggerInstructionIface;
                    IAnjutaDebuggerInstructionALine;
                    IAnjutaDebuggerInstructionDisassembly;
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_instruction
                                                        (IAnjutaDebuggerInstruction *obj,
                                                         GError **err);
gboolean            ianjuta_debugger_instruction_step_over_instruction
                                                        (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

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_instruction) (IAnjutaDebuggerInstruction *obj, GError **err);
	gboolean (*step_over_instruction) (IAnjutaDebuggerInstruction *obj, GError **err);
} IAnjutaDebuggerInstructionIface;


IAnjutaDebuggerInstructionALine

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


IAnjutaDebuggerInstructionDisassembly

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


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

gboolean            ianjuta_debugger_instruction_step_in_instruction
                                                        (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_instruction ()

gboolean            ianjuta_debugger_instruction_step_over_instruction
                                                        (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.