2 using System.Collections.Generic;
4 namespace Mono.Debugger.Soft
6 public enum StepDepth {
12 public enum StepSize {
18 * Filter which kinds of methods to skip during single stepping
21 public enum StepFilter {
24 /* Since protocol version 2.20 */
25 /* Methods which have the [DebuggerHidden] attribute */
26 /* Before protocol version 2.26, this includes [DebuggerStepThrough] as well */
28 /* Since protocol version 2.26 */
29 /* Methods which have the [DebuggerStepThrough] attribute */
30 DebuggerStepThrough = 4,
31 /* Since protocol version 2.30 */
32 /* Methods which have the [DebuggerNonUserCode] attribute */
33 DebuggerNonUserCode = 8
36 public sealed class StepEventRequest : EventRequest {
38 ThreadMirror step_thread;
43 internal StepEventRequest (VirtualMachine vm, ThreadMirror thread) : base (vm, EventType.Step) {
45 throw new ArgumentNullException ("thread");
46 CheckMirror (vm, thread);
47 this.step_thread = thread;
48 Depth = StepDepth.Into;
52 public override void Enable () {
53 var mods = new List <Modifier> ();
54 mods.Add (new StepModifier () { Thread = step_thread.Id, Depth = (int)Depth, Size = (int)Size, Filter = (int)Filter });
58 public new ThreadMirror Thread {
64 public StepDepth Depth {
74 public StepSize Size {
84 public StepFilter Filter {