private DebuggerAction FinalizeContinue(IDebuggeeThread thread) { _isContinuing = false; var eventArgs = new DebuggeeThreadEventArgs(thread) { NextAction = _continueAction }; OnResumedExecution(eventArgs); return(eventArgs.NextAction); }
private void SessionOnPaused(object sender, DebuggeeThreadEventArgs args) { _currentThread = args.Thread; var threadContext = _currentThread.GetThreadContext(); if (!_justStepped) { _logger.WriteLine("Debuggee paused."); _logger.WriteLine("Thread ID: " + args.Thread.Id); var registerCommand = _executor.GetCommand <RegisterCommand>(); registerCommand.SetCurrentThread(_currentThread); registerCommand.Execute(_session, new string[0], _logger); } uint eip = (uint)threadContext.GetRegisterByName("eip").Value; _executor.GetCommand <DisassembleCommand>().Execute(_session, new[] { eip.ToString("X8"), "1" }, _logger); _justStepped = false; }
public BreakpointEventArgs(IDebuggeeThread thread, IBreakpoint breakpoint) : base(thread) { Breakpoint = breakpoint; }
public DebuggeeExceptionEventArgs(IDebuggeeThread thread, DebuggeeException exception) : base(thread) { Exception = exception; NextAction = DebuggerAction.Stop; }
public DebuggeeThreadEventArgs(IDebuggeeThread thread) : base(thread.Process.Session) { Thread = thread; }
public DebuggeeLibraryEventArgs(IDebuggeeThread thread, IDebuggeeLibrary library) : base(thread) { Library = library; }
public void SetCurrentThread(IDebuggeeThread currentThread) { _currentThread = currentThread; }
private static void SignalStepOut(IDebuggeeThread thread, DebuggerAction nextAction) { throw new NotSupportedException(); }
public DebuggeeOutputStringEventArgs(IDebuggeeThread thread, string message) : base(thread) { Message = message; }