public virtual void OnProgramDestroy(uint exitCode) { Logger.Debug(string.Empty); var eventObject = new ProgramDestroyEvent(exitCode); OnDebugEvent(eventObject, InterfaceGuids.IDebugProgramDestroyEvent2Guid); }
public void AbortSendsProgramDestroyEvent(ExitReason exitReason) { ProgramDestroyEvent destroyEvent = null; debugEngineHandler.SendEvent( Arg.Do <DebugEvent>(e => destroyEvent = e as ProgramDestroyEvent), Arg.Any <IGgpDebugProgram>(), Arg.Any <IDebugThread2>()) .Returns(VSConstants.S_OK); debugEngineHandler.Abort(program, ExitInfo.Normal(exitReason)); debugEngineHandler.Received(1).SendEvent( Arg.Is <DebugEvent>(e => e is ProgramDestroyEvent), program, (IDebugThread2)null); destroyEvent.ExitInfo.HandleResult( r => Assert.That(r, Is.EqualTo(exitReason)), ex => Assert.Fail("Unexpected error: " + ex.ToString())); }