private void cLRCapabilitiesToolStripMenuItem_Click(object sender, EventArgs e) { try { MFDevice device = ConnectToSelectedDevice(); if (device != null) { _DBG.Engine engine = device.DbgEngine; engine.TryToConnect(0, 100, true, Microsoft.SPOT.Debugger.ConnectionSource.Unknown); Microsoft.SPOT.CLRCapabilities caps = engine.Capabilities; if (caps == null || caps.IsUnknown) { DumpToOutput(Properties.Resources.ErrorNotSupported); DisconnectFromSelectedDevice(); return; } Type t = typeof(Microsoft.SPOT.CLRCapabilities); foreach (PropertyInfo pi in t.GetProperties()) { object o = pi.GetValue(caps, null); try { if (o is Microsoft.SPOT.CLRCapabilities.LCDCapabilities || o is Microsoft.SPOT.CLRCapabilities.SoftwareVersionProperties || o is Microsoft.SPOT.CLRCapabilities.HalSystemInfoProperties || o is Microsoft.SPOT.CLRCapabilities.ClrInfoProperties || o is Microsoft.SPOT.CLRCapabilities.SolutionInfoProperties ) { foreach (FieldInfo fi in pi.PropertyType.GetFields()) { DumpToOutput(string.Format("{0,-40}{1}", pi.Name + "." + fi.Name + ":", fi.GetValue(o))); } } else { DumpToOutput(string.Format("{0,-40}{1}", pi.Name + ":", o)); } } catch { DumpToOutput(Properties.Resources.ErrorNotSupported); } } DisconnectFromSelectedDevice(); } } catch { DumpToOutput(Properties.Resources.ErrorNotSupported); } }
private void buttonCLRCap_Click(object sender, EventArgs e) { bool bWasStarted = EnsureDebuggerConnection(); Microsoft.SPOT.CLRCapabilities CLRCapabilities = m_eng.Capabilities; NewText("CLR Capabilities\r\n"); if (CLRCapabilities.FloatingPoint) { NewText("Floating Point \r\n"); } if (CLRCapabilities.SourceLevelDebugging) { NewText("Source Level Debugging \r\n"); } if (CLRCapabilities.AppDomains) { NewText("Application Domain \r\n"); } if (CLRCapabilities.ExceptionFilters) { NewText("Exception filter\r\n"); } if (CLRCapabilities.IncrementalDeployment) { NewText("Incremental Deployment \r\n"); } if (CLRCapabilities.SoftReboot) { NewText("Soft Reboot \r\n"); } NewText("Done\r\n"); if (!bWasStarted) { m_eng.Stop(); m_eng = null; } }