コード例 #1
0
 public AD7BoundBreakpoint(AD7Engine engine, AD7PendingBreakpoint pendingBreakpoint, AD7BreakpointResolution breakpointResolution, BoundBreakpoint bp)
 {
     _engine = engine;
     _pendingBreakpoint = pendingBreakpoint;
     _breakpointResolution = breakpointResolution;
     _deleted = false;
     _bp = bp;
 }
コード例 #2
0
 public AD7BoundBreakpoint(AD7Engine engine, ulong address, AD7PendingBreakpoint pendingBreakpoint, AD7BreakpointResolution breakpointResolution, BoundBreakpoint bp)
 {
     _engine = engine;
     Addr = address;
     _pendingBreakpoint = pendingBreakpoint;
     _breakpointResolution = breakpointResolution;
     _enabled = true;
     _deleted = false;
     _bp = bp;
 }
コード例 #3
0
 public AD7BoundBreakpoint(AD7Engine engine, ulong address, AD7PendingBreakpoint pendingBreakpoint, AD7BreakpointResolution breakpointResolution, BoundBreakpoint bp)
 {
     _engine               = engine;
     Addr                  = address;
     _pendingBreakpoint    = pendingBreakpoint;
     _breakpointResolution = breakpointResolution;
     _enabled              = true;
     _deleted              = false;
     _bp = bp;
 }
コード例 #4
0
 internal AD7BoundBreakpoint AddBoundBreakpoint(BoundBreakpoint bp)
 {
     lock (_boundBreakpoints)
     {
         if (!IsDataBreakpoint && _boundBreakpoints.Find((b) => b.Addr == bp.Addr) != null)
         {
             return(null);   // already bound to this breakpoint
         }
         AD7BreakpointResolution breakpointResolution = new AD7BreakpointResolution(_engine, IsDataBreakpoint, bp.Addr, bp.FunctionName, bp.DocumentContext(_engine));
         AD7BoundBreakpoint      boundBreakpoint      = new AD7BoundBreakpoint(_engine, this, breakpointResolution, bp);
         //check can bind one last time. If the pending breakpoint was deleted before now, we need to clean up gdb side
         if (CanBind())
         {
             _boundBreakpoints.Add(boundBreakpoint);
             PendingBreakpoint.AddedBoundBreakpoint();
             _engine.Callback.OnBreakpointBound(boundBreakpoint);
         }
         else
         {
             boundBreakpoint.Delete();
         }
         return(boundBreakpoint);
     }
 }
コード例 #5
0
 internal AD7BoundBreakpoint AddBoundBreakpoint(BoundBreakpoint bp)
 {
     lock (_boundBreakpoints)
     {
         if (!IsDataBreakpoint && _boundBreakpoints.Find((b) => b.Addr == bp.Addr) != null)
         {
             return null;   // already bound to this breakpoint
         }
         AD7BreakpointResolution breakpointResolution = new AD7BreakpointResolution(_engine, IsDataBreakpoint, bp.Addr, bp.FunctionName, bp.DocumentContext(_engine));
         AD7BoundBreakpoint boundBreakpoint = new AD7BoundBreakpoint(_engine, this, breakpointResolution, bp);
         //check can bind one last time. If the pending breakpoint was deleted before now, we need to clean up gdb side
         if (CanBind())
         {
             _boundBreakpoints.Add(boundBreakpoint);
             PendingBreakpoint.AddedBoundBreakpoint();
             _engine.Callback.OnBreakpointBound(boundBreakpoint);
         }
         else
         {
             boundBreakpoint.Delete();
         }
         return boundBreakpoint;
     }
 }
コード例 #6
0
 public AD7BoundBreakpoint(AD7Engine engine, AD7PendingBreakpoint pendingBreakpoint, AD7BreakpointResolution breakpointResolution, BoundBreakpoint bp)
 {
     _engine               = engine;
     _pendingBreakpoint    = pendingBreakpoint;
     _breakpointResolution = breakpointResolution;
     _deleted              = false;
     _bp = bp;
 }