void StartDebuggerSession(DebuggerStartInfo startInfo, long attachToProcessId) { IsDebugging = true; debuggeeEvent = new ManualResetEvent(false); debuggee = new Debuggee(); RegisterCallbacks(); Engine.LaunchExecutable(startInfo.Command + (string.IsNullOrWhiteSpace(startInfo.Arguments) ? "" : (" " + startInfo.Arguments)), Path.GetDirectoryName(startInfo.Command), debuggee); WaitForDebugEvent(); }
private void DestroyEngine() { if (symbolResolver != null) { symbolResolver.Dispose(); symbolResolver = null; } if (debuggee != null) { this.debuggee.Dispose(); debuggee = null; } }