Nemiver  0.3
nmv-gdb-engine.h
Go to the documentation of this file.
1 // -*- Mode: C++ -*-
2 
3 // Author: Dodji Seketeli
4 /*
5  *This file is part of the Nemiver project
6  *
7  *Nemiver is free software; you can redistribute
8  *it and/or modify it under the terms of
9  *the GNU General Public License as published by the
10  *Free Software Foundation; either version 2,
11  *or (at your option) any later version.
12  *
13  *Nemiver is distributed in the hope that it will
14  *be useful, but WITHOUT ANY WARRANTY;
15  *without even the implied warranty of
16  *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17  *See the GNU General Public License for more details.
18  *
19  *You should have received a copy of the
20  *GNU General Public License along with Nemiver;
21  *see the file COPYING.
22  *If not, write to the Free Software Foundation,
23  *Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24  *
25  *See COPYRIGHT file copyright information.
26  */
27 #ifndef __NMV_GDB_ENGINE_H__
28 #define __NMV_GDB_ENGINE_H__
29 
30 #include "nmv-dbg-common.h"
31 #include "nmv-gdbmi-parser.h"
32 #include "nmv-i-lang-trait.h"
33 
34 NEMIVER_BEGIN_NAMESPACE (nemiver)
35 
36 class GDBEngine : public IDebugger {
37 
38  GDBEngine (const GDBEngine &);
39  GDBEngine& operator= (const GDBEngine &);
40 
41  struct Priv;
42  SafePtr<Priv> m_priv;
43  friend struct Priv;
44 
45 public:
46 
47  GDBEngine (DynamicModule *a_dynmod);
48  virtual ~GDBEngine ();
49 
50  //*************
51  //<signals>
52  //*************
53  sigc::signal<void, Output&>& pty_signal () const;
54 
55  sigc::signal<void, CommandAndOutput&>& stdout_signal () const;
56 
57  sigc::signal<void, Output&>& stderr_signal () const;
58 
59  sigc::signal<void>& engine_died_signal () const;
60 
61  sigc::signal<void, const UString&>& console_message_signal () const;
62 
63  sigc::signal<void, const UString&>& target_output_message_signal () const;
64 
65  sigc::signal<void, const UString&>& log_message_signal () const;
66 
67  sigc::signal<void, const UString&, const UString&>&
68  command_done_signal () const;
69 
70  sigc::signal<void>& connected_to_server_signal () const;
71 
72  sigc::signal<void>& detached_from_target_signal () const;
73 
74  sigc::signal<void>& inferior_re_run_signal () const;
75 
76  sigc::signal<void, const map<string, IDebugger::Breakpoint>&, const UString&>&
77  breakpoints_list_signal () const;
78 
79  sigc::signal<void,
80  const std::map<string, IDebugger::Breakpoint>&,
81  const UString& /*cookie*/>&
82  breakpoints_set_signal () const;
83 
84  sigc::signal<void, const vector<OverloadsChoiceEntry>&, const UString&>&
85  got_overloads_choice_signal () const;
86 
87  sigc::signal<void, const IDebugger::Breakpoint&, const string&, const UString&>&
88  breakpoint_deleted_signal () const;
89 
90  sigc::signal<void, const IDebugger::Breakpoint&, int>&
91  breakpoint_disabled_signal () const;
92 
93  sigc::signal<void, const IDebugger::Breakpoint&, int>&
94  breakpoint_enabled_signal () const;
95 
96 
97  sigc::signal<void,
99  bool,
100  const IDebugger::Frame&,
101  int,
102  const string&,
103  const UString& /*cookie*/>& stopped_signal () const;
104 
105  sigc::signal<void,
106  const list<int>,
107  const UString& >& threads_listed_signal () const;
108 
109  sigc::signal<void, const vector<UString>&, const UString& >&
110  files_listed_signal () const;
111 
112  sigc::signal<void,
113  int,
114  const Frame* const,
115  const UString&>& thread_selected_signal () const ;
116 
117  sigc::signal<void,
118  const vector<IDebugger::Frame>&,
119  const UString&>& frames_listed_signal () const;
120 
121  sigc::signal<void,
122  const map<int, list<IDebugger::VariableSafePtr> >&,
123  const UString& /*cookie*/>&
124  frames_arguments_listed_signal () const;
125 
126  sigc::signal<void, const IDebugger::Frame&, const UString&>&
127  current_frame_signal () const;
128 
129  sigc::signal<void, const list<VariableSafePtr>&, const UString&>&
130  local_variables_listed_signal () const;
131 
132  sigc::signal<void, const list<VariableSafePtr>&, const UString&>&
133  global_variables_listed_signal () const;
134 
135 
136  sigc::signal<void,
137  const UString&,
139  const UString&>& variable_value_signal () const ;
140 
141  sigc::signal<void,
142  const VariableSafePtr/*variable*/,
143  const UString& /*cookie*/>&
144  variable_value_set_signal () const;
145 
146  sigc::signal<void, const UString&, const VariableSafePtr, const UString&>&
147  pointed_variable_value_signal () const ;
148 
149  sigc::signal<void, const UString&, const UString&, const UString&>&
150  variable_type_signal () const;
151 
152  sigc::signal<void, const VariableSafePtr, const UString&>&
153  variable_type_set_signal () const;
154 
155  sigc::signal<void, const VariableSafePtr, const UString&>&
156  variable_dereferenced_signal () const;
157 
158  sigc::signal<void, const VariableSafePtr, const UString&>&
159  variable_visualized_signal () const;
160 
161  sigc::signal<void, int, const UString&>& got_target_info_signal () const ;
162 
163  sigc::signal<void>& running_signal () const;
164 
165  sigc::signal<void, const UString&, const UString&>&
166  signal_received_signal () const;
167 
168  sigc::signal<void, const UString&>& error_signal () const;
169 
170  sigc::signal<void>& program_finished_signal () const;
171 
172  sigc::signal<void, IDebugger::State>& state_changed_signal () const;
173 
174  sigc::signal<void, const UString&, const UString&, const UString& >&
175  register_value_changed_signal () const;
176 
177  sigc::signal<void, const std::map<register_id_t, UString>&, const UString& >&
178  register_names_listed_signal () const;
179 
180  sigc::signal<void, const std::list<register_id_t>&, const UString& >&
181  changed_registers_listed_signal () const;
182 
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;
189  sigc::signal<void,
191  const std::list<common::Asm>&,
192  const UString& /*cookie*/>&
193  instructions_disassembled_signal () const;
194 
195  sigc::signal<void, const VariableSafePtr, const UString&>&
196  variable_created_signal () const;
197 
198  sigc::signal<void, const VariableSafePtr, const UString&>&
199  variable_deleted_signal () const;
200 
201  sigc::signal<void, const VariableSafePtr, const UString&>&
202  variable_unfolded_signal () const;
203 
204  sigc::signal<void, const VariableSafePtr, const UString&>&
205  variable_expression_evaluated_signal () const;
206 
207  sigc::signal<void, const list<VariableSafePtr>&, const UString&>&
208  changed_variables_signal () const;
209 
210  sigc::signal<void, VariableSafePtr, const UString&>&
211  assigned_variable_signal () const;
212 
213  //*************
214  //</signals>
215  //*************
216 
217  //***************
218  //<signal handlers>
219  //***************
220 
221  void on_debugger_stdout_signal (CommandAndOutput &a_cao);
222  void on_got_target_info_signal (int a_pid, const UString& a_exe_path);
223  void on_stopped_signal (IDebugger::StopReason a_reason,
224  bool has_frame,
225  const IDebugger::Frame &a_frame,
226  int a_thread_id,
227  const string &a_breakpoint_number,
228  const UString &a_cookie);
229  void on_detached_from_target_signal ();
230 
231  void on_program_finished_signal ();
232  void on_rv_eval_var (const VariableSafePtr,
233  const UString&,
234  const ConstVariableSlot&);
235  void on_rv_unfold_var (const VariableSafePtr,
236  const UString&,
237  const ConstVariableSlot&);
238  void on_rv_set_visualizer_on_members (const VariableSafePtr,
239  const UString&,
240  const ConstVariableSlot&);
241  void on_rv_set_visualizer_on_next_sibling
242  (const VariableSafePtr,
243  const UString&,
244  IDebugger::VariableList::iterator,
245  IDebugger::VariableList::iterator,
246  const ConstVariableSlot&);
247 
248  void on_rv_flag (const VariableSafePtr,
249  const UString&,
250  const ConstVariableSlot&);
251 
252  void unfold_variable_with_visualizer (const VariableSafePtr,
253  const UString &a_visualizer,
254  const ConstVariableSlot&);
255 
256  //***************
257  //</signal handlers>
258  //***************
259 
260  //for internal use
261  void init ();
262 
263  // to be called by client code
264  void do_init (IConfMgrSafePtr a_conf_mgr);
265 
266  IConfMgr& get_conf_mgr ();
267 
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);
271  void set_state (IDebugger::State a_state);
272  bool stop_target () ;
273  void exit_engine ();
274  void execute_command (const Command &a_command);
275  bool queue_command (const Command &a_command);
276  bool busy () const;
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,
280  const UString &a_value);
281  void set_solib_prefix_path (const UString &a_name);
282 
283  bool load_program (const UString &a_prog);
284 
285  bool load_program (const UString &a_prog,
286  const vector<UString> &a_args);
287 
288  bool load_program (const UString &a_prog,
289  const vector<UString> &a_args,
290  const UString &a_working_dir,
291  bool a_force);
292 
293  bool load_program (const UString &a_prog,
294  const vector<UString> &a_argv,
295  const UString &working_dir,
296  const vector<UString> &a_source_search_dirs,
297  const UString &a_slave_tty_path,
298  int a_slave_tty_fd,
299  bool a_uses_launch_tty,
300  bool a_force);
301 
302  void load_core_file (const UString &a_prog_file,
303  const UString &a_core_path);
304 
305  bool attach_to_target (unsigned int a_pid,
306  const UString &a_tty_path);
307 
308  bool attach_to_remote_target (const UString &a_host, unsigned a_port);
309 
310  bool attach_to_remote_target (const UString &a_serial_line);
311 
312  void detach_from_target (const UString &a_cookie);
313 
314  void disconnect_from_remote_target (const UString &a_cookie);
315 
316  bool is_attached_to_target () const;
317 
318  void set_attached_to_target (bool a_is_attached);
319 
320  void set_tty_path (const UString &a_tty_path);
321 
322  void add_env_variables (const map<UString, UString> &a_vars);
323 
324  map<UString, UString>& get_env_variables () ;
325 
326  const UString& get_target_path ();
327 
328  void init_output_handlers ();
329 
330  void append_breakpoint_to_cache (IDebugger::Breakpoint &a_break);
331 
332  void append_breakpoints_to_cache (map<string, IDebugger::Breakpoint>&);
333 
334  void do_continue (const UString &a_cookie);
335 
336  void run (const UString &a_cookie);
337 
338  void re_run (const DefaultSlot &);
339 
340  void get_target_info (const UString &a_cookie);
341 
342  ILangTraitSafePtr create_language_trait ();
343 
344  ILangTrait& get_language_trait ();
345 
346  bool is_variable_editable (const VariableSafePtr) const;
347 
348  bool is_running () const;
349 
350  IDebugger::State get_state () const;
351 
352  int get_current_frame_level () const;
353 
354  void set_current_frame_level (int);
355 
356  const Address & get_current_frame_address () const;
357 
358  void set_current_frame_address (const Address &a_address);
359 
360  void get_mi_thread_location (UString &a_str) const;
361 
362  void get_mi_thread_and_frame_location (UString &a_str) const;
363 
364  void reset_command_queue ();
365 
366  void step_over (const UString &a_cookie);
367 
368  void step_in (const UString &a_cookie);
369 
370  void step_out (const UString &a_cookie);
371 
372  void step_over_asm (const UString &a_cookie);
373 
374  void step_in_asm (const UString &a_cookie);
375 
376  void continue_to_position (const UString &a_path,
377  gint a_line_num,
378  const UString &a_cookie) ;
379 
380  void jump_to_position (const Loc &a_loc,
381  const DefaultSlot &a_slot);
382 
383  void set_breakpoint (const Loc &a_loc,
384  const UString &a_condition,
385  gint a_ignore_count,
386  const BreakpointsSlot &a_slot,
387  const UString &a_cookie);
388 
389  void set_breakpoint (const UString &a_path,
390  gint a_line_num,
391  const UString &a_condition,
392  gint a_ignore_count,
393  const UString &a_cookie);
394 
395  void set_breakpoint (const UString &a_func_name,
396  const UString &a_condition,
397  gint a_ignore_count,
398  const UString &a_cookie);
399 
400  void set_breakpoint (const UString &a_func_name,
401  const BreakpointsSlot &a_slot,
402  const UString &a_condition,
403  gint a_ignore_count,
404  const UString &a_cookie);
405 
406  void set_breakpoint (const Address &a_address,
407  const UString &a_condition,
408  gint a_ignore_count,
409  const UString &a_cookie);
410 
411  void enable_breakpoint (const string& a_break_num,
412  const BreakpointsSlot &a_slot,
413  const UString &a_cookie = "");
414 
415  void enable_breakpoint (const string& a_break_num,
416  const UString &a_cookie="");
417 
418  void disable_breakpoint (const string& a_break_num,
419  const UString &a_cookie="");
420 
421  void set_breakpoint_ignore_count (const string& a_break_num,
422  gint a_ignore_count,
423  const UString &a_cookie = "");
424 
425  void set_breakpoint_condition (const string& a_break_num,
426  const UString &a_condition,
427  const UString &a_cookie = "");
428 
429  void enable_countpoint (const string& a_break_num,
430  bool a_flag,
431  const UString &a_cookie = "");
432 
433  bool is_countpoint (const string& a_break_num) const;
434 
435  bool is_countpoint (const Breakpoint &a_breakpoint) const;
436 
437  void delete_breakpoint (const UString &a_path,
438  gint a_line_num,
439  const UString &a_cookie);
440 
441  void set_watchpoint (const UString &a_expression,
442  bool a_write, bool a_read,
443  const UString &a_cookie);
444 
445  void list_breakpoints (const UString &a_cookie);
446 
447  map<string, IDebugger::Breakpoint>& get_cached_breakpoints ();
448 
449  bool get_breakpoint_from_cache (const string &a_num,
450  IDebugger::Breakpoint &a_bp) const;
451 
452  void set_catch (const UString &a_event,
453  const UString &a_cookie) ;
454 
455 
456  void choose_function_overload (int a_overload_number,
457  const UString &a_cookie);
458 
459  void choose_function_overloads (const vector<int> &a_numbers,
460  const UString &a_cookie);
461 
462  void list_threads (const UString &a_cookie);
463 
464  void select_thread (unsigned int a_thread_id,
465  const UString &a_cookie);
466 
467  unsigned int get_current_thread () const;
468 
469  void delete_breakpoint (const string &a_break_num,
470  const UString &a_cookie);
471 
472  void select_frame (int a_frame_id,
473  const UString &a_cookie);
474 
475  void list_frames (int a_low_frame,
476  int a_high_frame,
477  const UString &a_cookie);
478 
479  void list_frames (int a_low_frame,
480  int a_high_frame,
481  const FrameVectorSlot &a_slot,
482  const UString &a_cookie);
483 
484  void list_frames_arguments (int a_low_frame,
485  int a_high_frame,
486  const UString &a_cookie);
487 
488  void list_frames_arguments (int a_low_frame,
489  int a_high_frame,
490  const FrameArgsSlot &a_slot,
491  const UString &a_cookie);
492 
493  void list_local_variables (const ConstVariableListSlot &a_slot,
494  const UString &a_cookie);
495 
496  void list_local_variables (const UString &a_cookie);
497 
498  void list_global_variables ( const UString &a_cookie );
499 
500  void evaluate_expression (const UString &a_expr,
501  const UString &a_cookie);
502 
503  void call_function (const UString &a_call_expression,
504  const UString &a_cookie="");
505 
506  void print_variable_value (const UString &a_var_name,
507  const UString &a_cookie);
508 
509  void get_variable_value (const VariableSafePtr &a_var,
510  const UString &a_cookie);
511 
512  void print_pointed_variable_value (const UString &a_var_name,
513  const UString &a_cookie);
514 
515  void print_variable_type (const UString &a_var_name,
516  const UString &a_cookie);
517 
518  void get_variable_type (const VariableSafePtr &a_var,
519  const UString &a_cookie);
520 
521  bool dereference_variable (const VariableSafePtr &a_var,
522  const UString &a_cookie);
523 
524  void revisualize_variable (const VariableSafePtr a_var,
525  const ConstVariableSlot &a_slot);
526 
527  void revisualize_variable (const VariableSafePtr a_var,
528  bool a_toggle_pretty_printing,
529  const ConstVariableSlot &a_slot);
530 
531  void revisualize_variable_real (IDebugger::VariableSafePtr,
532  const UString&,
533  const ConstVariableSlot &a_slot);
534 
535  void list_files (const UString &a_cookie);
536 
537  bool extract_proc_info (Output &a_output,
538  int &a_proc_pid,
539  UString &a_exe_path);
540 
541  typedef std::map<UString, std::list<IDebugger::VariableSafePtr> >
543  bool extract_global_variable_list (Output &a_output,
544  VarsPerFilesMap &a_vars);
545 
546  void list_register_names (const UString &a_cookie);
547 
548  void list_register_values (std::list<register_id_t> a_registers,
549  const UString &a_cookie);
550 
551  virtual void set_register_value (const UString& a_reg_name,
552  const UString& a_value,
553  const UString& a_cookie);
554 
555  void list_changed_registers (const UString &a_cookie);
556 
557  void list_register_values (const UString &a_cookie);
558 
559  void read_memory (size_t a_start_addr,
560  size_t a_num_bytes,
561  const UString& a_cookie);
562  void set_memory (size_t a_addr,
563  const std::vector<uint8_t>& a_bytes,
564  const UString& a_cookie);
565 
566  void disassemble (size_t a_start_addr,
567  bool a_start_addr_relative_to_pc,
568  size_t a_end_addr,
569  bool a_end_addr_relative_to_pc,
570  bool a_pure_asm,
571  const UString &a_cookie);
572 
573  void disassemble (size_t a_start_addr,
574  bool a_start_addr_relative_to_pc,
575  size_t a_end_addr,
576  bool a_end_addr_relative_to_pc,
577  const DisassSlot &a_slot,
578  bool a_pure_asm,
579  const UString &a_cookie);
580 
581  void disassemble_lines (const UString &a_file_name,
582  int a_line_num,
583  int a_nb_disassembled_lines,
584  bool a_pure_asm,
585  const UString &a_cookie);
586 
587  void disassemble_lines (const UString &a_file_name,
588  int a_line_num,
589  int a_nb_disassembled_lines,
590  const DisassSlot &a_slot,
591  bool a_pure_asm,
592  const UString &a_cookie);
593 
594  void create_variable (const UString &a_name,
595  const UString &a_cookie="");
596 
597  void create_variable (const UString &a_name,
598  const ConstVariableSlot &a_s,
599  const UString &a_cookie="");
600 
601  void create_variable (const UString &a_name,
602  const ConstVariableSlot &a_s,
603  const UString &a_cookie,
604  bool a_should_emit_signal);
605 
606  void delete_variable (const VariableSafePtr a_var,
607  const UString &a_cookie);
608 
609  void delete_variable (const VariableSafePtr a_var,
610  const ConstVariableSlot &a_s,
611  const UString &a_cookie);
612 
613  void delete_variable (const UString &a_internal_name,
614  const DefaultSlot &a_slot,
615  const UString &a_cookie);
616 
617  void unfold_variable (VariableSafePtr a_var,
618  const UString &a_cookie);
619 
620  void unfold_variable (VariableSafePtr a_var,
621  const ConstVariableSlot &a_s,
622  const UString &a_cookie);
623 
624  void unfold_variable (VariableSafePtr a_var,
625  const ConstVariableSlot &a_s,
626  const UString &a_cookie,
627  bool a_should_emit_signal);
628 
629  void assign_variable (const VariableSafePtr a_var,
630  const UString &a_expression,
631  const UString &a_cookie);
632 
633  void assign_variable
634  (const VariableSafePtr a_var,
635  const UString &a_expression,
636  const ConstVariableSlot &a_slot,
637  const UString &a_cookie);
638 
639  void evaluate_variable_expr (const VariableSafePtr a_var,
640  const UString &a_cookie);
641  void evaluate_variable_expr
642  (const VariableSafePtr a_var,
643  const ConstVariableSlot &a_slot,
644  const UString &a_cookie);
645 
646  void list_changed_variables (VariableSafePtr a_root,
647  const UString &a_cookie);
648 
649  void list_changed_variables
650  (VariableSafePtr a_root,
651  const ConstVariableListSlot &a_slot,
652  const UString &a_cookie);
653 
654  void query_variable_path_expr (const VariableSafePtr a_root,
655  const UString &a_cookie);
656 
657  void query_variable_path_expr (const VariableSafePtr,
658  const ConstVariableSlot &a_slot,
659  const UString &a_cookie);
660 
661  void query_variable_format (const VariableSafePtr a_var,
662  const ConstVariableSlot &a_slot,
663  const UString &a_cookie);
664 
665  void set_variable_format (const VariableSafePtr a_var,
666  const Variable::Format a_format,
667  const UString &a_cookie);
668 
669  void enable_pretty_printing (bool a_flag);
670 
671  void set_variable_visualizer (const VariableSafePtr a_var,
672  const std::string &a_vizualizer,
673  const ConstVariableSlot &a_slot);
674 };//end class GDBEngine
675 
676 NEMIVER_END_NAMESPACE (nemiver)
677 
678 #endif //__NMV_GDB_ENGINE_H__
679 
nemiver::IDebugger::DisassSlot
sigc::slot< void, const DisassembleInfo &, const std::list< Asm > & > DisassSlot
Definition: nmv-i-debugger.h:1599
nemiver::common::DisassembleInfo
Definition: nmv-asm-instr.h:201
nemiver::GDBEngine::VarsPerFilesMap
std::map< UString, std::list< IDebugger::VariableSafePtr > > VarsPerFilesMap
Definition: nmv-gdb-engine.h:542
nemiver::IDebugger::State
State
Definition: nmv-i-debugger.h:1028
nemiver
Definition: nmv-address.h:31
nemiver::IDebugger::ConstVariableListSlot
sigc::slot< void, const VariableList & > ConstVariableListSlot
Definition: nmv-i-debugger.h:462
nmv-gdbmi-parser.h
nemiver::GDBEngine
Definition: nmv-gdb-engine.h:36
nemiver::common::DynamicModule
The base class for loadable modules.
Definition: nmv-dynamic-module.h:76
nemiver::IDebugger::DefaultSlot
sigc::slot< void > DefaultSlot
Definition: nmv-i-debugger.h:455
nemiver::IDebugger::FrameArgsSlot
sigc::slot< void, const map< int, IDebugger::VariableList > & > FrameArgsSlot
Definition: nmv-i-debugger.h:459
nemiver::common::UString
Definition: nmv-ustring.h:45
nemiver::IDebugger::BreakpointsSlot
sigc::slot< void, const std::map< string, IDebugger::Breakpoint > & > BreakpointsSlot
Definition: nmv-i-debugger.h:1093
nemiver::IConfMgr
Definition: nmv-i-conf-mgr.h:46
nemiver::ILangTrait
Definition: nmv-i-lang-trait.h:44
nemiver::Output
the output received from the debugger.
Definition: nmv-dbg-common.h:209
nemiver::IDebugger::StopReason
StopReason
Definition: nmv-i-debugger.h:1065
nemiver::CommandAndOutput
Definition: nmv-dbg-common.h:961
nmv-dbg-common.h
nemiver::IDebugger
a debugger engine.
Definition: nmv-i-debugger.h:74
nemiver::common::Loc
The base type presenting a location.
Definition: nmv-loc.h:42
nemiver::common::Address
Definition: nmv-address.h:34
nemiver::IDebugger::Frame
a function frame as seen by the debugger.
Definition: nmv-i-debugger.h:372
nemiver::IDebugger::Breakpoint
a breakpoint descriptor
Definition: nmv-i-debugger.h:90
nemiver::IDebugger::FrameVectorSlot
sigc::slot< void, const vector< IDebugger::Frame > & > FrameVectorSlot
Definition: nmv-i-debugger.h:457
nemiver::IDebugger::ConstVariableSlot
sigc::slot< void, const VariableSafePtr > ConstVariableSlot
Definition: nmv-i-debugger.h:461
nemiver::Command
A container of the textual command sent to the debugger.
Definition: nmv-dbg-common.h:84
nemiver::common::SafePtr< Priv >
nmv-i-lang-trait.h
nemiver::common::env::do_init
void do_init()