Beispiel #1
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="location">Location</param>
 /// <param name="module">Module or null if none</param>
 /// <param name="address">Address or <see cref="NoAddress"/> if it's not known</param>
 /// <param name="message">Warning/error message or null if none</param>
 /// <param name="data">Data to add to the <see cref="DbgBoundCodeBreakpoint"/> or null if nothing gets added.
 /// If the data implements <see cref="IDisposable"/>, it gets disposed when the bound breakpoint gets deleted.</param>
 public DbgBoundCodeBreakpointInfo(DbgCodeLocation location, DbgModule module, ulong address, DbgEngineBoundCodeBreakpointMessage message, T data)
 {
     Location = location ?? throw new ArgumentNullException(nameof(location));
     Module   = module;
     Address  = address;
     Message  = message;
     Data     = data;
 }
Beispiel #2
0
 /// <summary>
 /// Creates a bound breakpoint. This method returns null if there was no breakpoint matching <paramref name="location"/>.
 ///
 /// To get notified when a bound breakpoint gets deleted, add custom data that implements <see cref="IDisposable"/>.
 /// </summary>
 /// <typeparam name="T">Type of data</typeparam>
 /// <param name="location">Breakpoint location</param>
 /// <param name="module">Module or null if none</param>
 /// <param name="address">Address or <see cref="BoundBreakpointNoAddress"/> if unknown</param>
 /// <param name="message">Warning/error message or null if none</param>
 /// <param name="data">Data to add to the <see cref="DbgEngineBoundCodeBreakpoint"/> or null if nothing gets added</param>
 /// <returns></returns>
 public DbgEngineBoundCodeBreakpoint Create <T>(DbgCodeLocation location, DbgModule module, ulong address, DbgEngineBoundCodeBreakpointMessage message, T data) where T : class =>
 Create(new[] { new DbgBoundCodeBreakpointInfo <T>(location, module, address, message, data) }).FirstOrDefault();
 /// <summary>
 /// Updates <see cref="DbgBoundCodeBreakpoint"/> properties
 /// </summary>
 /// <param name="options">Options</param>
 /// <param name="module">New <see cref="DbgBoundCodeBreakpoint.Module"/> value</param>
 /// <param name="address">New <see cref="DbgBoundCodeBreakpoint.Address"/> value</param>
 /// <param name="message">New <see cref="DbgBoundCodeBreakpoint.Message"/> value</param>
 public abstract void Update(UpdateOptions options, DbgModule?module = null, ulong address = 0, DbgEngineBoundCodeBreakpointMessage message = default);
Beispiel #4
0
 /// <summary>
 /// Creates a bound breakpoint. This method returns null if there was no breakpoint matching <paramref name="location"/>.
 ///
 /// To get notified when a bound breakpoint gets deleted, add custom data that implements <see cref="IDisposable"/>.
 /// </summary>
 /// <param name="location">Breakpoint location</param>
 /// <param name="module">Module or null if none</param>
 /// <param name="address">Address or <see cref="BoundBreakpointNoAddress"/> if unknown</param>
 /// <param name="message">Warning/error message or null if none</param>
 /// <returns></returns>
 public DbgEngineBoundCodeBreakpoint Create(DbgCodeLocation location, DbgModule module, ulong address, DbgEngineBoundCodeBreakpointMessage message) =>
 Create(new[] { new DbgBoundCodeBreakpointInfo <object>(location, module, address, message, null) }).FirstOrDefault();
 /// <summary>
 /// Updates <see cref="DbgBoundCodeBreakpoint.Message"/>
 /// </summary>
 /// <param name="message">New value</param>
 public void UpdateMessage(DbgEngineBoundCodeBreakpointMessage message) => Update(UpdateOptions.Message, message: message);