27 #ifndef __NMV_GDB_ENGINE_H__
28 #define __NMV_GDB_ENGINE_H__
34 NEMIVER_BEGIN_NAMESPACE (
nemiver)
53 sigc::signal<void, Output&>& pty_signal ()
const;
55 sigc::signal<void, CommandAndOutput&>& stdout_signal ()
const;
57 sigc::signal<void, Output&>& stderr_signal ()
const;
59 sigc::signal<void>& engine_died_signal ()
const;
61 sigc::signal<void, const UString&>& console_message_signal ()
const;
63 sigc::signal<void, const UString&>& target_output_message_signal ()
const;
65 sigc::signal<void, const UString&>& log_message_signal ()
const;
67 sigc::signal<void, const UString&, const UString&>&
68 command_done_signal ()
const;
70 sigc::signal<void>& connected_to_server_signal ()
const;
72 sigc::signal<void>& detached_from_target_signal ()
const;
74 sigc::signal<void>& inferior_re_run_signal ()
const;
76 sigc::signal<void, const map<string, IDebugger::Breakpoint>&,
const UString&>&
77 breakpoints_list_signal ()
const;
80 const std::map<string, IDebugger::Breakpoint>&,
82 breakpoints_set_signal ()
const;
84 sigc::signal<void, const vector<OverloadsChoiceEntry>&,
const UString&>&
85 got_overloads_choice_signal ()
const;
87 sigc::signal<void, const IDebugger::Breakpoint&, const string&, const UString&>&
88 breakpoint_deleted_signal ()
const;
90 sigc::signal<void, const IDebugger::Breakpoint&, int>&
91 breakpoint_disabled_signal ()
const;
93 sigc::signal<void, const IDebugger::Breakpoint&, int>&
94 breakpoint_enabled_signal ()
const;
103 const UString& >& stopped_signal ()
const;
107 const UString& >& threads_listed_signal ()
const;
109 sigc::signal<void, const vector<UString>&,
const UString& >&
110 files_listed_signal ()
const;
115 const UString&>& thread_selected_signal ()
const ;
118 const vector<IDebugger::Frame>&,
119 const UString&>& frames_listed_signal ()
const;
122 const map<int, list<IDebugger::VariableSafePtr> >&,
124 frames_arguments_listed_signal ()
const;
126 sigc::signal<void, const IDebugger::Frame&, const UString&>&
127 current_frame_signal ()
const;
129 sigc::signal<void, const list<VariableSafePtr>&,
const UString&>&
130 local_variables_listed_signal ()
const;
132 sigc::signal<void, const list<VariableSafePtr>&,
const UString&>&
133 global_variables_listed_signal ()
const;
139 const UString&>& variable_value_signal ()
const ;
144 variable_value_set_signal ()
const;
146 sigc::signal<void, const UString&, const VariableSafePtr, const UString&>&
147 pointed_variable_value_signal ()
const ;
149 sigc::signal<void, const UString&, const UString&, const UString&>&
150 variable_type_signal ()
const;
152 sigc::signal<void, const VariableSafePtr, const UString&>&
153 variable_type_set_signal ()
const;
155 sigc::signal<void, const VariableSafePtr, const UString&>&
156 variable_dereferenced_signal ()
const;
158 sigc::signal<void, const VariableSafePtr, const UString&>&
159 variable_visualized_signal ()
const;
161 sigc::signal<void, int, const UString&>& got_target_info_signal ()
const ;
163 sigc::signal<void>& running_signal ()
const;
165 sigc::signal<void, const UString&, const UString&>&
166 signal_received_signal ()
const;
168 sigc::signal<void, const UString&>& error_signal ()
const;
170 sigc::signal<void>& program_finished_signal ()
const;
172 sigc::signal<void, IDebugger::State>& state_changed_signal ()
const;
174 sigc::signal<void, const UString&, const UString&, const UString& >&
175 register_value_changed_signal ()
const;
177 sigc::signal<void, const std::map<register_id_t, UString>&,
const UString& >&
178 register_names_listed_signal ()
const;
180 sigc::signal<void, const std::list<register_id_t>&,
const UString& >&
181 changed_registers_listed_signal ()
const;
183 sigc::signal<void, const std::map<register_id_t, UString>&,
const UString& >&
184 register_values_listed_signal ()
const;
185 sigc::signal <void, size_t, const std::vector<uint8_t>&,
const UString& >&
186 read_memory_signal ()
const;
187 sigc::signal <void, size_t, const std::vector<uint8_t>&,
const UString& >&
188 set_memory_signal ()
const;
191 const std::list<common::Asm>&,
193 instructions_disassembled_signal ()
const;
195 sigc::signal<void, const VariableSafePtr, const UString&>&
196 variable_created_signal ()
const;
198 sigc::signal<void, const VariableSafePtr, const UString&>&
199 variable_deleted_signal ()
const;
201 sigc::signal<void, const VariableSafePtr, const UString&>&
202 variable_unfolded_signal ()
const;
204 sigc::signal<void, const VariableSafePtr, const UString&>&
205 variable_expression_evaluated_signal ()
const;
207 sigc::signal<void, const list<VariableSafePtr>&,
const UString&>&
208 changed_variables_signal ()
const;
210 sigc::signal<void, VariableSafePtr, const UString&>&
211 assigned_variable_signal ()
const;
222 void on_got_target_info_signal (
int a_pid,
const UString& a_exe_path);
227 const string &a_breakpoint_number,
229 void on_detached_from_target_signal ();
231 void on_program_finished_signal ();
241 void on_rv_set_visualizer_on_next_sibling
244 IDebugger::VariableList::iterator,
245 IDebugger::VariableList::iterator,
268 map<UString, UString>& properties ();
269 void set_event_loop_context (
const Glib::RefPtr<Glib::MainContext> &);
270 void run_loop_iterations (
int a_nb_iters);
272 bool stop_target () ;
274 void execute_command (
const Command &a_command);
275 bool queue_command (
const Command &a_command);
277 void set_non_persistent_debugger_path (
const UString &a_full_path);
278 const UString& get_debugger_full_path ()
const;
279 void set_debugger_parameter (
const UString &a_name,
281 void set_solib_prefix_path (
const UString &a_name);
283 bool load_program (
const UString &a_prog);
285 bool load_program (
const UString &a_prog,
286 const vector<UString> &a_args);
288 bool load_program (
const UString &a_prog,
289 const vector<UString> &a_args,
293 bool load_program (
const UString &a_prog,
294 const vector<UString> &a_argv,
296 const vector<UString> &a_source_search_dirs,
297 const UString &a_slave_tty_path,
299 bool a_uses_launch_tty,
302 void load_core_file (
const UString &a_prog_file,
305 bool attach_to_target (
unsigned int a_pid,
308 bool attach_to_remote_target (
const UString &a_host,
unsigned a_port);
310 bool attach_to_remote_target (
const UString &a_serial_line);
312 void detach_from_target (
const UString &a_cookie);
314 void disconnect_from_remote_target (
const UString &a_cookie);
316 bool is_attached_to_target ()
const;
318 void set_attached_to_target (
bool a_is_attached);
320 void set_tty_path (
const UString &a_tty_path);
322 void add_env_variables (
const map<UString, UString> &a_vars);
324 map<UString, UString>& get_env_variables () ;
326 const UString& get_target_path ();
328 void init_output_handlers ();
332 void append_breakpoints_to_cache (map<string, IDebugger::Breakpoint>&);
334 void do_continue (
const UString &a_cookie);
336 void run (
const UString &a_cookie);
340 void get_target_info (
const UString &a_cookie);
348 bool is_running ()
const;
352 int get_current_frame_level ()
const;
354 void set_current_frame_level (
int);
356 const Address & get_current_frame_address ()
const;
358 void set_current_frame_address (
const Address &a_address);
360 void get_mi_thread_location (
UString &a_str)
const;
362 void get_mi_thread_and_frame_location (
UString &a_str)
const;
364 void reset_command_queue ();
366 void step_over (
const UString &a_cookie);
368 void step_in (
const UString &a_cookie);
370 void step_out (
const UString &a_cookie);
372 void step_over_asm (
const UString &a_cookie);
374 void step_in_asm (
const UString &a_cookie);
376 void continue_to_position (
const UString &a_path,
380 void jump_to_position (
const Loc &a_loc,
383 void set_breakpoint (
const Loc &a_loc,
389 void set_breakpoint (
const UString &a_path,
395 void set_breakpoint (
const UString &a_func_name,
400 void set_breakpoint (
const UString &a_func_name,
406 void set_breakpoint (
const Address &a_address,
411 void enable_breakpoint (
const string& a_break_num,
415 void enable_breakpoint (
const string& a_break_num,
418 void disable_breakpoint (
const string& a_break_num,
421 void set_breakpoint_ignore_count (
const string& a_break_num,
425 void set_breakpoint_condition (
const string& a_break_num,
429 void enable_countpoint (
const string& a_break_num,
433 bool is_countpoint (
const string& a_break_num)
const;
435 bool is_countpoint (
const Breakpoint &a_breakpoint)
const;
437 void delete_breakpoint (
const UString &a_path,
441 void set_watchpoint (
const UString &a_expression,
442 bool a_write,
bool a_read,
445 void list_breakpoints (
const UString &a_cookie);
447 map<string, IDebugger::Breakpoint>& get_cached_breakpoints ();
449 bool get_breakpoint_from_cache (
const string &a_num,
452 void set_catch (
const UString &a_event,
456 void choose_function_overload (
int a_overload_number,
459 void choose_function_overloads (
const vector<int> &a_numbers,
462 void list_threads (
const UString &a_cookie);
464 void select_thread (
unsigned int a_thread_id,
467 unsigned int get_current_thread ()
const;
469 void delete_breakpoint (
const string &a_break_num,
472 void select_frame (
int a_frame_id,
475 void list_frames (
int a_low_frame,
479 void list_frames (
int a_low_frame,
484 void list_frames_arguments (
int a_low_frame,
488 void list_frames_arguments (
int a_low_frame,
496 void list_local_variables (
const UString &a_cookie);
498 void list_global_variables (
const UString &a_cookie );
500 void evaluate_expression (
const UString &a_expr,
503 void call_function (
const UString &a_call_expression,
506 void print_variable_value (
const UString &a_var_name,
512 void print_pointed_variable_value (
const UString &a_var_name,
515 void print_variable_type (
const UString &a_var_name,
528 bool a_toggle_pretty_printing,
535 void list_files (
const UString &a_cookie);
537 bool extract_proc_info (
Output &a_output,
541 typedef std::map<UString, std::list<IDebugger::VariableSafePtr> >
543 bool extract_global_variable_list (
Output &a_output,
546 void list_register_names (
const UString &a_cookie);
548 void list_register_values (std::list<register_id_t> a_registers,
551 virtual void set_register_value (
const UString& a_reg_name,
555 void list_changed_registers (
const UString &a_cookie);
557 void list_register_values (
const UString &a_cookie);
559 void read_memory (
size_t a_start_addr,
562 void set_memory (
size_t a_addr,
563 const std::vector<uint8_t>& a_bytes,
566 void disassemble (
size_t a_start_addr,
567 bool a_start_addr_relative_to_pc,
569 bool a_end_addr_relative_to_pc,
573 void disassemble (
size_t a_start_addr,
574 bool a_start_addr_relative_to_pc,
576 bool a_end_addr_relative_to_pc,
581 void disassemble_lines (
const UString &a_file_name,
583 int a_nb_disassembled_lines,
587 void disassemble_lines (
const UString &a_file_name,
589 int a_nb_disassembled_lines,
594 void create_variable (
const UString &a_name,
597 void create_variable (
const UString &a_name,
601 void create_variable (
const UString &a_name,
604 bool a_should_emit_signal);
613 void delete_variable (
const UString &a_internal_name,
627 bool a_should_emit_signal);
641 void evaluate_variable_expr
649 void list_changed_variables
666 const Variable::Format a_format,
669 void enable_pretty_printing (
bool a_flag);
672 const std::string &a_vizualizer,
676 NEMIVER_END_NAMESPACE (
nemiver)
678 #endif //__NMV_GDB_ENGINE_H__