1 /* 2 * debug.h 3 * 4 * Copyright 2010 Alexander Petukhov <devel(at)apetukhov.ru> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 * MA 02110-1301, USA. 20 */ 21 22 #ifndef DEBUG_H 23 #define DEBUG_H 24 25 #include <glib.h> 26 27 #include "debug_module.h" 28 #include "markers.h" 29 30 /* function type to execute on interrupt */ 31 typedef void (*bs_callback)(gpointer); 32 33 void debug_init(void); 34 enum dbs debug_get_state(void); 35 void debug_run(void); 36 void debug_stop(void); 37 void debug_step_over(void); 38 void debug_step_into(void); 39 void debug_step_out(void); 40 void debug_execute_until(const gchar *file, int line); 41 gboolean debug_set_break(breakpoint* bp, break_set_activity bsa); 42 gboolean debug_remove_break(breakpoint* bp); 43 void debug_request_interrupt(bs_callback cb, gpointer data); 44 gchar* debug_error_message(void); 45 GList* debug_get_modules(void); 46 int debug_get_module_index(const gchar *modulename); 47 gboolean debug_supports_async_breaks(void); 48 void debug_destroy(void); 49 gchar* debug_evaluate_expression(gchar *expression); 50 gboolean debug_current_instruction_have_sources(void); 51 void debug_jump_to_current_instruction(void); 52 void debug_on_file_open(GeanyDocument *doc); 53 gchar* debug_get_calltip_for_expression(gchar* expression); 54 GList* debug_get_stack(void); 55 void debug_restart(void); 56 int debug_get_active_frame(void); 57 58 #endif /* guard */ 59