nemiver r821 - in trunk: . src/dbgengine src/persp/dbgperspective



Author: dodji
Date: Sun May 25 19:23:54 2008
New Revision: 821
URL: http://svn.gnome.org/viewvc/nemiver?rev=821&view=rev

Log:
first tentative to fix 534695

Nemiver actually is slow when attaching to some targets.
This comes from the fact that nemiver steps over the first C instruction it
finds when attaching to a program. Stepping over might take a lot of time
if for instance there is no debug information for the symbol over which we are trying
to step over.

In this fix tentative, nemiver instead steps into the next machine
instruction instead of the stepping over the first C instruction


Modified:
   trunk/ChangeLog
   trunk/src/dbgengine/nmv-gdb-engine.cc
   trunk/src/dbgengine/nmv-gdb-engine.h
   trunk/src/dbgengine/nmv-i-debugger.h
   trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc

Modified: trunk/src/dbgengine/nmv-gdb-engine.cc
==============================================================================
--- trunk/src/dbgengine/nmv-gdb-engine.cc	(original)
+++ trunk/src/dbgengine/nmv-gdb-engine.cc	Sun May 25 19:23:54 2008
@@ -2835,6 +2835,16 @@
 }
 
 void
+GDBEngine::step_instruction (const UString &a_cookie)
+{
+    LOG_FUNCTION_SCOPE_NORMAL_DD;
+    THROW_IF_FAIL (m_priv);
+    queue_command (Command ("step-instruction",
+                            "-exec-next-instruction",
+                            a_cookie));
+}
+
+void
 GDBEngine::continue_to_position (const UString &a_path,
                                  gint a_line_num,
                                  const UString &a_cookie)

Modified: trunk/src/dbgengine/nmv-gdb-engine.h
==============================================================================
--- trunk/src/dbgengine/nmv-gdb-engine.h	(original)
+++ trunk/src/dbgengine/nmv-gdb-engine.h	Sun May 25 19:23:54 2008
@@ -266,6 +266,8 @@
 
     void step_out (const UString &a_cookie) ;
 
+    void step_instruction (const UString &a_cookie);
+
     void step_over (const UString &a_cookie) ;
 
     void continue_to_position (const UString &a_path,

Modified: trunk/src/dbgengine/nmv-i-debugger.h
==============================================================================
--- trunk/src/dbgengine/nmv-i-debugger.h	(original)
+++ trunk/src/dbgengine/nmv-i-debugger.h	Sun May 25 19:23:54 2008
@@ -730,6 +730,8 @@
 
     virtual void step_out (const UString &a_cookie="") = 0;
 
+    virtual void step_instruction (const UString &a_cookie="") = 0;
+
     virtual void continue_to_position (const UString &a_path,
                                        gint a_line_num,
                                        const UString &a_cookie="") = 0;

Modified: trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc
==============================================================================
--- trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc	(original)
+++ trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc	Sun May 25 19:23:54 2008
@@ -1905,7 +1905,7 @@
     NEMIVER_TRY
     if (a_command == "attach-to-program") {
         //attached_to_target_signal ().emit (true) ;
-        debugger ()->step_over () ;
+        debugger ()->step_instruction () ;
         debugger ()->get_target_info () ;
     }
     NEMIVER_CATCH



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]