Top |
Functions
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
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.
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.
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
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.
ianjuta_debugger_abort ()
gboolean ianjuta_debugger_abort (IAnjutaDebugger *obj
,GError **err
);
Quit the debugger as fast as possible.
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. |
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.
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
ianjuta_debugger_disable_log ()
void ianjuta_debugger_disable_log (IAnjutaDebugger *obj
,GError **err
);
Disable debugger log.
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.
ianjuta_debugger_enable_log ()
void ianjuta_debugger_enable_log (IAnjutaDebugger *obj
,IAnjutaMessageView *log
,GError **err
);
Log all debuggers commands, mainly useful for debugging.
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.
ianjuta_debugger_exit ()
gboolean ianjuta_debugger_exit (IAnjutaDebugger *obj
,GError **err
);
Exit from the currently loaded program.
ianjuta_debugger_get_state ()
IAnjutaDebuggerState ianjuta_debugger_get_state (IAnjutaDebugger *obj
,GError **err
);
Get the current state of the debugger
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.
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.
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.
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.
ianjuta_debugger_info_sharedlib ()
gboolean ianjuta_debugger_info_sharedlib (IAnjutaDebugger *obj
,IAnjutaDebuggerGListCallback callback
,gpointer user_data
,GError **err
);
Get information about shared libraries.
ianjuta_debugger_info_signal ()
gboolean ianjuta_debugger_info_signal (IAnjutaDebugger *obj
,IAnjutaDebuggerGListCallback callback
,gpointer user_data
,GError **err
);
Get some informatin about a signal
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.
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.
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.
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.
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.
ianjuta_debugger_interrupt ()
gboolean ianjuta_debugger_interrupt (IAnjutaDebugger *obj
,GError **err
);
Interrupt the program currently running.
ianjuta_debugger_list_argument ()
gboolean ianjuta_debugger_list_argument (IAnjutaDebugger *obj
,IAnjutaDebuggerGListCallback callback
,gpointer user_data
,GError **err
);
Get the list of arguments
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. |
ianjuta_debugger_list_local ()
gboolean ianjuta_debugger_list_local (IAnjutaDebugger *obj
,IAnjutaDebuggerGListCallback callback
,gpointer user_data
,GError **err
);
Get the list of local variables
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. |
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. |
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.
ianjuta_debugger_quit ()
gboolean ianjuta_debugger_quit (IAnjutaDebugger *obj
,GError **err
);
Quit the debugger, can wait until the debugger is ready.
ianjuta_debugger_run ()
gboolean ianjuta_debugger_run (IAnjutaDebugger *obj
,GError **err
);
Run the program currently loaded.
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.
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.
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.
ianjuta_debugger_set_environment ()
gboolean ianjuta_debugger_set_environment (IAnjutaDebugger *obj
,gchar **env
,GError **err
);
Set environment variable
ianjuta_debugger_set_frame ()
gboolean ianjuta_debugger_set_frame (IAnjutaDebugger *obj
,guint frame
,GError **err
);
Set the current frame.
ianjuta_debugger_set_thread ()
gboolean ianjuta_debugger_set_thread (IAnjutaDebugger *obj
,gint thread
,GError **err
);
Set the current thread.
ianjuta_debugger_set_working_directory ()
gboolean ianjuta_debugger_set_working_directory (IAnjutaDebugger *obj
,const gchar *dir
,GError **err
);
Set program working directory.
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.
ianjuta_debugger_step_in ()
gboolean ianjuta_debugger_step_in (IAnjutaDebugger *obj
,GError **err
);
Execute a single C instruction of the program currently loaded.
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.
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.
ianjuta_debugger_unload ()
gboolean ianjuta_debugger_unload (IAnjutaDebugger *obj
,GError **err
);
Unload a program.
Types and Values
enum IAnjutaDebuggerError
This enumeration is used to defined the error returned by the debugger backend.
Members
No error |
||
Debugger is not ready to execute the command |
||
Debugger is not is running state |
||
Debugger is not is stopped state |
||
Debugger is not is loaded state |
||
Debugger is not in started state |
||
Debugger is not connected: |
||
Corresponding function is not implemented |
||
Operation has been cancelled |
||
Debugger cannot create variable |
||
Debugger cannot access memory |
||
Debugger cannot open file |
||
Debugger cannot debug such file |
||
Debugger is too old |
||
Debugger cannot be found |
||
Command has already been executed |
||
Program cannot be found |
||
Unable to connect to debugger |
||
Unknown error |
||
other error |
enum IAnjutaDebuggerOutputType
This enumeration is used to defined the kind of output in IAnjutaDebuggerOutputCallback
enum IAnjutaDebuggerState
This enumeration is used to defined the different state of the debugger.
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.
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