| Anjuta Developers Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
#include <libanjuta/interfaces/ianjuta-debugger-breakpoint.h> #define IANJUTA_TYPE_DEBUGGER_BREAKPOINT_METHOD #define IANJUTA_TYPE_DEBUGGER_BREAKPOINT_TYPE #define IANJUTA_DEBUGGER_BREAKPOINT_ERROR enum IAnjutaDebuggerBreakpointMethod; enum IAnjutaDebuggerBreakpointType; struct IAnjutaDebuggerBreakpointItem; void (*IAnjutaDebuggerBreakpointCallback) (const IAnjutaDebuggerBreakpointItem *data,gpointer user_data,GError *err); struct IAnjutaDebuggerBreakpointIface; GType ianjuta_debugger_breakpoint_type_get_type (void); GQuark ianjuta_debugger_breakpoint_error_quark (void); GType ianjuta_debugger_breakpoint_get_type (void); gboolean ianjuta_debugger_breakpoint_clear_breakpoint (IAnjutaDebuggerBreakpoint *obj,guint id,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err); gboolean ianjuta_debugger_breakpoint_condition_breakpoint (IAnjutaDebuggerBreakpoint *obj,guint id,const gchar *condition,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err); gboolean ianjuta_debugger_breakpoint_enable_breakpoint (IAnjutaDebuggerBreakpoint *obj,guint id,gboolean enable,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err); gboolean ianjuta_debugger_breakpoint_ignore_breakpoint (IAnjutaDebuggerBreakpoint *obj,guint id,guint ignore,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err); gint ianjuta_debugger_breakpoint_implement_breakpoint (IAnjutaDebuggerBreakpoint *obj,GError **err); gboolean ianjuta_debugger_breakpoint_list_breakpoint (IAnjutaDebuggerBreakpoint *obj,IAnjutaDebuggerGListCallback callback,gpointer user_data,GError **err); gboolean ianjuta_debugger_breakpoint_set_breakpoint_at_address (IAnjutaDebuggerBreakpoint *obj,gulong address,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err); gboolean ianjuta_debugger_breakpoint_set_breakpoint_at_function (IAnjutaDebuggerBreakpoint *obj,const gchar *file,const gchar *function,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err); gboolean ianjuta_debugger_breakpoint_set_breakpoint_at_line (IAnjutaDebuggerBreakpoint *obj,const gchar *file,guint line,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err);
GEnum +----IAnjutaDebuggerBreakpointMethod
GEnum +----IAnjutaDebuggerBreakpointType
#define IANJUTA_TYPE_DEBUGGER_BREAKPOINT_METHOD (ianjuta_debugger_breakpoint_method_get_type())
#define IANJUTA_TYPE_DEBUGGER_BREAKPOINT_TYPE (ianjuta_debugger_breakpoint_type_get_type())
#define IANJUTA_DEBUGGER_BREAKPOINT_ERROR ianjuta_debugger_breakpoint_error_quark()
typedef enum {
IANJUTA_DEBUGGER_BREAKPOINT_SET_AT_ADDRESS = 1 << 0,
IANJUTA_DEBUGGER_BREAKPOINT_SET_AT_FUNCTION = 1 << 1,
IANJUTA_DEBUGGER_BREAKPOINT_ENABLE = 1 << 2,
IANJUTA_DEBUGGER_BREAKPOINT_IGNORE = 1 << 3,
IANJUTA_DEBUGGER_BREAKPOINT_CONDITION = 1 << 4
} IAnjutaDebuggerBreakpointMethod;
Defines which breakpoint characteristics are supported by the debugger backend.
| Allow to set breakpoint on address | |
| Allow to set breakpoint on function name | |
| Allow to disable breakpoint | |
| Allow to ignore breakpoint | |
| Allow to add a condition on breakpoint |
typedef enum {
IANJUTA_DEBUGGER_BREAKPOINT_REMOVED = 1 << 0,
IANJUTA_DEBUGGER_BREAKPOINT_UPDATED = 1 << 17,
IANJUTA_DEBUGGER_BREAKPOINT_ON_LINE = 1 << 1,
IANJUTA_DEBUGGER_BREAKPOINT_ON_ADDRESS = 1 << 2,
IANJUTA_DEBUGGER_BREAKPOINT_ON_FUNCTION = 1 << 3,
IANJUTA_DEBUGGER_BREAKPOINT_ON_READ = 1 << 4,
IANJUTA_DEBUGGER_BREAKPOINT_ON_WRITE = 1 << 5,
IANJUTA_DEBUGGER_BREAKPOINT_WITH_ENABLE = 1 << 16,
IANJUTA_DEBUGGER_BREAKPOINT_WITH_IGNORE = 1 << 15,
IANJUTA_DEBUGGER_BREAKPOINT_WITH_TIME = 1 << 11,
IANJUTA_DEBUGGER_BREAKPOINT_WITH_CONDITION = 1 << 12,
IANJUTA_DEBUGGER_BREAKPOINT_WITH_TEMPORARY = 1 << 13,
IANJUTA_DEBUGGER_BREAKPOINT_WITH_PENDING = 1 << 14,
} IAnjutaDebuggerBreakpointType;
This enumeration defined various characteristics of the breakpoint.
| Set for removed breakpoint | |
| Set for changed breakpoint | |
| Set on source line | |
| Set on an addresse | |
| Set on a function name | |
| Set on read access | |
| Set on write access | |
| Has enable information | |
| Has ignore information, | |
| Has counter information | |
| Has a condition | |
| Temporary breakpoint, automatically removed when triggered | |
| Pending breakpoint |
struct IAnjutaDebuggerBreakpointItem {
gint type;
guint id;
gchar *file;
guint line;
gchar *function;
gulong address;
gboolean enable;
guint ignore;
guint times;
gchar *condition;
gboolean temporary;
gboolean pending;
};
This structure keeps all information about a breakpoint.
gint |
type see IAnjutaBreakpointType enumeration |
guint |
unique identifier |
gchar * |
source file where is the breakpoint |
guint |
corresponding source file line number |
gchar * |
corresponding function name |
gulong |
corresponding address |
gboolean |
TRUE if the breakpoint is enabled |
guint |
TRUE if the breakpoint is ignored |
guint |
Count how many time the breakpoint is triggered |
gchar * |
Additional condition for triggering the breakpoint |
gboolean |
TRUE if the breakpoint is temporary |
gboolean |
TRUE if the breakpoint is pending |
void (*IAnjutaDebuggerBreakpointCallback) (const IAnjutaDebuggerBreakpointItem *data,gpointer user_data,GError *err);
This callback function is used to return a IAnjutaBreakpointItem.
|
a IAnjutaBreakpointItem object |
|
user data passed to the function |
struct IAnjutaDebuggerBreakpointIface {
IAnjutaDebuggerIface g_iface;
gboolean (*clear_breakpoint) (IAnjutaDebuggerBreakpoint *obj, guint id, IAnjutaDebuggerBreakpointCallback callback, gpointer user_data, GError **err);
gboolean (*condition_breakpoint) (IAnjutaDebuggerBreakpoint *obj, guint id, const gchar* condition, IAnjutaDebuggerBreakpointCallback callback, gpointer user_data, GError **err);
gboolean (*enable_breakpoint) (IAnjutaDebuggerBreakpoint *obj, guint id, gboolean enable, IAnjutaDebuggerBreakpointCallback callback, gpointer user_data, GError **err);
gboolean (*ignore_breakpoint) (IAnjutaDebuggerBreakpoint *obj, guint id, guint ignore, IAnjutaDebuggerBreakpointCallback callback, gpointer user_data, GError **err);
gint (*implement_breakpoint) (IAnjutaDebuggerBreakpoint *obj, GError **err);
gboolean (*list_breakpoint) (IAnjutaDebuggerBreakpoint *obj, IAnjutaDebuggerGListCallback callback, gpointer user_data, GError **err);
gboolean (*set_breakpoint_at_address) (IAnjutaDebuggerBreakpoint *obj, gulong address, IAnjutaDebuggerBreakpointCallback callback, gpointer user_data, GError **err);
gboolean (*set_breakpoint_at_function) (IAnjutaDebuggerBreakpoint *obj, const gchar* file, const gchar* function, IAnjutaDebuggerBreakpointCallback callback, gpointer user_data, GError **err);
gboolean (*set_breakpoint_at_line) (IAnjutaDebuggerBreakpoint *obj, const gchar* file, guint line, IAnjutaDebuggerBreakpointCallback callback, gpointer user_data, GError **err);
};
GType ianjuta_debugger_breakpoint_type_get_type
(void);
gboolean ianjuta_debugger_breakpoint_clear_breakpoint (IAnjutaDebuggerBreakpoint *obj,guint id,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err);
Clear a breakpoint put by any set functions. The Id of the breakpoint is given in the callback of the set functions.
|
Self |
|
Breakpoint identification number |
|
Callback to call when the breakpoint has been cleared |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_breakpoint_condition_breakpoint (IAnjutaDebuggerBreakpoint *obj,guint id,const gchar *condition,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err);
Add a condition, evaluate in the program context, on the breakpoint, the program will stop when it reachs the breakpoint only if the condition is true. This function is optional.
|
Self |
|
Breakpoint identification number |
|
expression that has to be true |
|
Callback to call when the breakpoint has been changed |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_breakpoint_enable_breakpoint (IAnjutaDebuggerBreakpoint *obj,guint id,gboolean enable,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err);
Enable of disable a breakpoint. This function is optional.
|
Self |
|
Breakpoint identification number |
|
TRUE to enable the breakpoint, FALSE to disable it |
|
Callback to call when the breakpoint has been changed |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_breakpoint_ignore_breakpoint (IAnjutaDebuggerBreakpoint *obj,guint id,guint ignore,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err);
This allow to ignore the breakpoint a number of time before stopping. This function is optional.
|
Self |
|
Breakpoint identification number |
|
Number of time a breakpoint must be ignored |
|
Callback to call when the breakpoint has been changed |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gint ianjuta_debugger_breakpoint_implement_breakpoint (IAnjutaDebuggerBreakpoint *obj,GError **err);
Return all implemented methods.
|
Self |
|
Error propagation and reporting. |
Returns : |
A OR of IAnjutaDebuggerBreakpointMethod corresponding to all implemented optional methods. |
gboolean ianjuta_debugger_breakpoint_list_breakpoint (IAnjutaDebuggerBreakpoint *obj,IAnjutaDebuggerGListCallback callback,gpointer user_data,GError **err);
List all breakpoints set in the debugger. It is useful to know how many time a breakpoint has been hit.
|
Self |
|
Callback to call with the list of IAnjutaDebuggreBreakpointItem |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_breakpoint_set_breakpoint_at_address (IAnjutaDebuggerBreakpoint *obj,gulong address,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err);
Set a breakpoint at the specified address. This function is optional.
|
Self |
|
Address of the breakpoint |
|
Callback to call when the breakpoint has been set |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_breakpoint_set_breakpoint_at_function (IAnjutaDebuggerBreakpoint *obj,const gchar *file,const gchar *function,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err);
Set a breakpoint at the beginning of the specified function. This function is optional.
|
Self |
|
File containing the breakpoint |
|
Function name where the breakpoint is put |
|
Callback to call when the breakpoint has been set |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_breakpoint_set_breakpoint_at_line (IAnjutaDebuggerBreakpoint *obj,const gchar *file,guint line,IAnjutaDebuggerBreakpointCallback callback,gpointer user_data,GError **err);
Set a breakpoint at the specified line in the file.
|
Self |
|
File containing the breakpoint |
|
Line number where is the breakpoint |
|
Callback to call when the breakpoint has been set |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |