コード例 #1
0
		void LoadEngine ()
		{
			if (!gotEngine) {
				gotEngine = true;
				engine = (IDebuggerEngine) node.GetInstance ();
			}
		}
コード例 #2
0
 void LoadEngine()
 {
     if (!gotEngine)
     {
         gotEngine = true;
         engine    = (IDebuggerEngine)node.GetInstance();
     }
 }
コード例 #3
0
 public AsyncEngine(IDebuggerEngine aEngine)
 {
     engine  = aEngine;
     pause   = true;
     running = false;
     live    = false;
     brake   = 0;
 }
コード例 #4
0
        private string Execute(string command, params string[] parameters)
        {
            IDebuggerEngine debugger       = Context.Debugger;
            ISymbolProvider symbolProvider = Context.SymbolProvider;
            string          output         = DbgEngDll.ExecuteAndCapture(command, parameters);

            Context.InitializeDebugger(debugger, symbolProvider);
            return(output);
        }
コード例 #5
0
 /// <summary>
 /// Initializes the Context with the specified debugger engine interface.
 /// It will also <see cref="IDebuggerEngine.EndSession"/> for previous debugger engine.
 /// </summary>
 /// <param name="debuggerEngine">The debugger engine interface.</param>
 /// <param name="symbolProvider">The symbol provider interface.</param>
 public static void InitializeDebugger(IDebuggerEngine debuggerEngine, ISymbolProvider symbolProvider)
 {
     if (Debugger != debuggerEngine)
     {
         Debugger?.EndSession();
     }
     ClearCache();
     Debugger       = debuggerEngine;
     SymbolProvider = symbolProvider;
 }
コード例 #6
0
 public BreakPoint ShouldBreak(IDebuggerEngine engine, out string reason)
 {
     foreach (BreakPoint breakPoint in this)
     {
         string rea = breakPoint.ShouldBreak(engine);
         if (rea != null)
         {
             reason = rea;
             return(breakPoint);
         }
     }
     reason = null;
     return(null);
 }
コード例 #7
0
        public IEngine CreateEngine(IEngine engine)
        {
            IDebuggerEngine en = engine as IDebuggerEngine;

            if (en == null)
            {
                throw new ArgumentException(
                          "Argument should implement IDebuggerEngine interface for usage with EngineASync");
            }
            AsyncEngine e = new AsyncEngine(en);

            e.Module = this;
            return(e);
        }
コード例 #8
0
 public override string ShouldBreak(IDebuggerEngine engine)
 {
     for (int address = AddressStart; address <= AddressEnd; address++)
     {
         if (address > engine.CoreSize)
         {
             address = 0;
         }
         CoreEventRecord  record           = engine.CoreEvents[address];
         InstructionEvent instructionEvent = record.Event & Event;
         if (record.Cycle == engine.Cycle - 1 && instructionEvent != InstructionEvent.None)
         {
             return("Core event " + instructionEvent + " on address " + address);
         }
     }
     return(null);
 }
コード例 #9
0
 public abstract string ShouldBreak(IDebuggerEngine engine);
コード例 #10
0
ファイル: Context.cs プロジェクト: heruix/WinDbgCs
 /// <summary>
 /// Initializes the Context with the specified debugger engine interface.
 /// </summary>
 /// <param name="debuggerEngine">The debugger engine interface.</param>
 public static void InitializeDebugger(IDebuggerEngine debuggerEngine)
 {
     InitializeDebugger(debuggerEngine, debuggerEngine.GetDefaultSymbolProvider());
 }
コード例 #11
0
ファイル: Context.cs プロジェクト: heruix/WinDbgCs
 /// <summary>
 /// Initializes the Context with the specified debugger engine interface.
 /// </summary>
 /// <param name="debuggerEngine">The debugger engine interface.</param>
 /// <param name="symbolProvider">The symbol provider interface.</param>
 public static void InitializeDebugger(IDebuggerEngine debuggerEngine, ISymbolProvider symbolProvider)
 {
     ClearCache();
     Debugger       = debuggerEngine;
     SymbolProvider = symbolProvider;
 }
コード例 #12
0
		public LegacyDebuggerEngineBackend (IDebuggerEngine engine)
		{
			this.engine = engine;
		}
コード例 #13
0
 public LegacyDebuggerEngineBackend(IDebuggerEngine engine)
 {
     this.engine = engine;
 }
コード例 #14
0
ファイル: Context.cs プロジェクト: leculver/WinDbgCs
 /// <summary>
 /// Initializes the Context with the specified debugger engine interface.
 /// </summary>
 /// <param name="debuggerEngine">The debugger engine interface.</param>
 public static void InitializeDebugger(IDebuggerEngine debuggerEngine)
 {
     Debugger = debuggerEngine;
     //SymbolProvider = Debugger.CreateDefaultSymbolProvider();
     SymbolProvider = DiaSymbolProvider;
 }
コード例 #15
0
ファイル: Context.cs プロジェクト: leculver/WinDbgCs
 /// <summary>
 /// Initializes the Context with the specified DbgEng.dll Client interface.
 /// </summary>
 /// <param name="client">The DbgEng.dll Client interface.</param>
 public static void Initalize(IDebugClient client)
 {
     Debugger       = new DbgEngDll(client);
     SymbolProvider = Debugger.CreateDefaultSymbolProvider();
     SymbolProvider = DiaSymbolProvider;
 }