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