protected void LoadSession(XPathNavigator nav) { XPathNodeIterator session_iter = nav.Select( "/DebuggerConfiguration/DebuggerSession[@name='" + Name + "']"); if (!session_iter.MoveNext()) { throw new InternalError(); } XPathNodeIterator group_iter = nav.Select( "/DebuggerConfiguration/ModuleGroups/ModuleGroup"); while (group_iter.MoveNext()) { string name = group_iter.Current.GetAttribute("name", ""); ModuleGroup group = Config.CreateModuleGroup(name); group.SetSessionData(group_iter); } XPathNodeIterator modules_iter = session_iter.Current.Select("Modules/*"); while (modules_iter.MoveNext()) { string name = modules_iter.Current.GetAttribute("name", ""); string group = modules_iter.Current.GetAttribute("group", ""); Module module = (Module)modules [name]; if (module == null) { ModuleGroup mgroup = Config.GetModuleGroup(group); module = new Module(mgroup, name, null); modules.Add(name, module); } module.SetSessionData(modules_iter); } XPathNodeIterator event_iter = session_iter.Current.Select("Events/*"); LoadEvents(event_iter); XPathNodeIterator display_iter = session_iter.Current.Select("Displays/*"); LoadDisplays(display_iter); }