Author: martin
Date: 2007-12-07 19:01:24 -0500 (Fri, 07 Dec 2007)
New Revision: 90976

Modified:
   trunk/debugger/ChangeLog
   trunk/debugger/classes/DebuggerConfiguration.cs
   trunk/debugger/classes/DebuggerConfiguration.xsd
   trunk/debugger/frontend/Interpreter.cs
   trunk/debugger/frontend/Main.cs
Log:
2007-12-08  Martin Baulig  <[EMAIL PROTECTED]>

        * classes/DebuggerConfiguration.cs
        (DebuggerConfiguration.FollowFork): New property.  Not yet implemented.



Modified: trunk/debugger/ChangeLog
===================================================================
--- trunk/debugger/ChangeLog    2007-12-07 23:55:35 UTC (rev 90975)
+++ trunk/debugger/ChangeLog    2007-12-08 00:01:24 UTC (rev 90976)
@@ -1,5 +1,10 @@
 2007-12-08  Martin Baulig  <[EMAIL PROTECTED]>
 
+       * classes/DebuggerConfiguration.cs
+       (DebuggerConfiguration.FollowFork): New property.  Not yet implemented.
+
+2007-12-08  Martin Baulig  <[EMAIL PROTECTED]>
+
        * backend/ThreadDB.cs
        (ThreadDB.GetThreadInfo): Added `TargetMemoryAccess' argument;
        operate on that target.  This fixes the XSP issue.

Modified: trunk/debugger/classes/DebuggerConfiguration.cs
===================================================================
--- trunk/debugger/classes/DebuggerConfiguration.cs     2007-12-07 23:55:35 UTC 
(rev 90975)
+++ trunk/debugger/classes/DebuggerConfiguration.cs     2007-12-08 00:01:24 UTC 
(rev 90976)
@@ -85,6 +85,12 @@
                        while (iter.MoveNext ()) {
                                if (iter.Current.Name == "LoadNativeSymtabs")
                                        LoadNativeSymtabs = Boolean.Parse 
(iter.Current.Value);
+                               else if (iter.Current.Name == "BrokenThreading")
+                                       BrokenThreading = Boolean.Parse 
(iter.Current.Value);
+                               else if (iter.Current.Name == "StayInThread")
+                                       StayInThread = Boolean.Parse 
(iter.Current.Value);
+                               else if (iter.Current.Name == "FollowFork")
+                                       FollowFork = Boolean.Parse 
(iter.Current.Value);
                                else
                                        throw new InvalidOperationException ();
                        }
@@ -110,6 +116,18 @@
                                load_native_symtabs_e.InnerText = 
LoadNativeSymtabs ? "true" : "false";
                                element.AppendChild (load_native_symtabs_e);
 
+                               XmlElement broken_threading_e = 
doc.CreateElement ("BrokenThreading");
+                               broken_threading_e.InnerText = BrokenThreading 
? "true" : "false";
+                               element.AppendChild (broken_threading_e);
+
+                               XmlElement stay_in_thread_e = doc.CreateElement 
("StayInThread");
+                               stay_in_thread_e.InnerText = StayInThread ? 
"true" : "false";
+                               element.AppendChild (stay_in_thread_e);
+
+                               XmlElement follow_fork_e = doc.CreateElement 
("FollowFork");
+                               follow_fork_e.InnerText = FollowFork ? "true" : 
"false";
+                               element.AppendChild (follow_fork_e);
+
                                XmlElement module_groups = doc.CreateElement 
("ModuleGroups");
                                doc.DocumentElement.AppendChild (module_groups);
 
@@ -123,6 +141,7 @@
                bool stay_in_thread;
                bool broken_threading = true;
                bool load_native_symtabs;
+               bool follow_fork = true;
                Hashtable module_groups;
 
                //
@@ -207,17 +226,22 @@
                //
                public bool LoadNativeSymtabs {
                        get { return load_native_symtabs; }
-                       set { load_native_symtabs = true; }
+                       set { load_native_symtabs = value; }
                }
 
                public bool StayInThread {
                        get { return stay_in_thread; }
-                       set { stay_in_thread = false; }
+                       set { stay_in_thread = value; }
                }
 
                public bool BrokenThreading {
                        get { return broken_threading; }
                        set { broken_threading = value; }
                }
+
+               public bool FollowFork {
+                       get { return follow_fork; }
+                       set { follow_fork = value; }
+               }
        }
 }

Modified: trunk/debugger/classes/DebuggerConfiguration.xsd
===================================================================
--- trunk/debugger/classes/DebuggerConfiguration.xsd    2007-12-07 23:55:35 UTC 
(rev 90975)
+++ trunk/debugger/classes/DebuggerConfiguration.xsd    2007-12-08 00:01:24 UTC 
(rev 90976)
@@ -2,7 +2,10 @@
 <xs:schema id="DebuggerConfiguration" xmlns="" 
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
   <xs:complexType name="Configuration">
     <xs:sequence>
-      <xs:element name="LoadNativeSymtabs" type="xs:boolean" minOccurs="0" />
+      <xs:element name="LoadNativeSymtabs" type="xs:boolean" minOccurs="0" 
maxOccurs="1" />
+      <xs:element name="FollowFork" type="xs:boolean" minOccurs="0" 
maxOccurs="1" />
+      <xs:element name="BrokenThreading" type="xs:boolean" minOccurs="0" 
maxOccurs="1" />
+      <xs:element name="StayInThread" type="xs:boolean" minOccurs="0" 
maxOccurs="1" />
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="Options">

Modified: trunk/debugger/frontend/Interpreter.cs
===================================================================
--- trunk/debugger/frontend/Interpreter.cs      2007-12-07 23:55:35 UTC (rev 
90975)
+++ trunk/debugger/frontend/Interpreter.cs      2007-12-08 00:01:24 UTC (rev 
90976)
@@ -74,6 +74,9 @@
 
                public void Exit ()
                {
+                       if (config != null)
+                               config.SaveConfiguration ();
+
                        try {
                                Dispose ();
                        } catch (Exception ex) {

Modified: trunk/debugger/frontend/Main.cs
===================================================================
--- trunk/debugger/frontend/Main.cs     2007-12-07 23:55:35 UTC (rev 90975)
+++ trunk/debugger/frontend/Main.cs     2007-12-08 00:01:24 UTC (rev 90976)
@@ -96,7 +96,7 @@
                        }
                }
 
-               internal void RunMainLoop ()
+               protected void RunMainLoop ()
                {
                        is_inferior_main = false;
 
@@ -115,6 +115,7 @@
                        } catch (Exception ex) {
                                interpreter.Error ("ERROR: {0}", ex);
                        } finally {
+                               
interpreter.DebuggerConfiguration.SaveConfiguration ();
                                interpreter.Exit ();
                        }
                }
@@ -246,6 +247,8 @@
                                is_terminal, config, options);
 
                        interpreter.RunMainLoop ();
+
+                       config.SaveConfiguration ();
                }
        }
 }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to