Exemplo n.º 1
0
        private DebuggerAction FinalizeContinue(IDebuggeeThread thread)
        {
            _isContinuing = false;

            var eventArgs = new DebuggeeThreadEventArgs(thread)
            {
                NextAction = _continueAction
            };

            OnResumedExecution(eventArgs);

            return(eventArgs.NextAction);
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
 public BreakpointEventArgs(IDebuggeeThread thread, IBreakpoint breakpoint)
     : base(thread)
 {
     Breakpoint = breakpoint;
 }
Exemplo n.º 4
0
 public DebuggeeExceptionEventArgs(IDebuggeeThread thread, DebuggeeException exception)
     : base(thread)
 {
     Exception  = exception;
     NextAction = DebuggerAction.Stop;
 }
Exemplo n.º 5
0
 public DebuggeeThreadEventArgs(IDebuggeeThread thread)
     : base(thread.Process.Session)
 {
     Thread = thread;
 }
Exemplo n.º 6
0
 public DebuggeeLibraryEventArgs(IDebuggeeThread thread, IDebuggeeLibrary library)
     : base(thread)
 {
     Library = library;
 }
Exemplo n.º 7
0
 public void SetCurrentThread(IDebuggeeThread currentThread)
 {
     _currentThread = currentThread;
 }
Exemplo n.º 8
0
 private static void SignalStepOut(IDebuggeeThread thread, DebuggerAction nextAction)
 {
     throw new NotSupportedException();
 }
 public DebuggeeOutputStringEventArgs(IDebuggeeThread thread, string message)
     : base(thread)
 {
     Message = message;
 }