public int Attach(IDebugProgram2[] rgpPrograms, IDebugProgramNode2[] rgpProgramNodes, uint celtPrograms, IDebugEventCallback2 ad7Callback, enum_ATTACH_REASON dwReason) { Debug.Assert(_program != null); IDebugProcess2 process; IDebugProgram2 program = rgpPrograms[0]; EngineUtils.RequireOk(program.GetProcess(out process)); Guid attachedGuid; EngineUtils.RequireOk(program.GetProgramId(out attachedGuid)); _program.AttachDebugger(attachedGuid); Debug.WriteLine("IDebugEngine2.Attach: invoking load callbacks"); // The SDM will invoke ContinueFromSynchronousEvent with AD7LoadCompleteEvent. At that point, // breakpoints from design mode will have already been placed, and the program can be launched. _callbacks.OnAttach(); return(VSConstants.S_OK); }
int IDebugEngine2.DestroyProgram(IDebugProgram2 program) { EngineUtils.RequireOk(program.Terminate()); _callbacks.OnProgramTerminated(); return(VSConstants.S_OK); }