public void AttachVSDebuggerTest() { using (System.Diagnostics.Process dummyProc = TestUtilities.StartProcessForKilling( "DummyProc", 20)) { try { PluginDebuggerVS_Accessor target = new PluginDebuggerVS_Accessor(dte_, properties_); var pluginFoundArgs = new NativeClientVSAddIn.PluginDebuggerBase.PluginFoundEventArgs( (uint)dummyProc.Id); target.Attach(null, pluginFoundArgs); bool isBeingDebugged = false; foreach (EnvDTE.Process proc in dte_.Debugger.DebuggedProcesses) { if (proc.ProcessID == dummyProc.Id) { isBeingDebugged = true; } } Assert.IsTrue(isBeingDebugged, "Visual Studio debugger did not attach"); } finally { if (dummyProc != null && !dummyProc.HasExited) { dummyProc.Kill(); dummyProc.Dispose(); } } } }
public void AttachVSDebuggerTest() { using (System.Diagnostics.Process dummyProc = TestUtilities.StartProcessForKilling( "DummyProc", 20)) { try { PluginDebuggerVS_Accessor target = new PluginDebuggerVS_Accessor(dte_, properties_); var pluginFoundArgs = new NativeClientVSAddIn.PluginDebuggerBase.PluginFoundEventArgs( (uint)dummyProc.Id); target.Attach(null, pluginFoundArgs); bool isBeingDebugged = false; foreach (EnvDTE.Process proc in dte_.Debugger.DebuggedProcesses) { if (proc.ProcessID == dummyProc.Id) { isBeingDebugged = true; } } Assert.IsTrue(isBeingDebugged, "Visual Studio debugger did not attach"); } finally { if (dummyProc != null && !dummyProc.HasExited) { dummyProc.Kill(); dummyProc.Dispose(); } } } }