Index: trunk/sources/HeuristicLab.DebugEngine/3.3/DebugEngine.cs
===================================================================
--- trunk/sources/HeuristicLab.DebugEngine/3.3/DebugEngine.cs	(revision 5116)
+++ trunk/sources/HeuristicLab.DebugEngine/3.3/DebugEngine.cs	(revision 5117)
@@ -161,7 +161,7 @@
       lastUpdateTime = DateTime.Now;
       timer.Start();
-      ProcessNextOperation();
+      ProcessNextOperation(true);
       while (skipStackOperations && !(CurrentOperation is IAtomicOperation) && CanContinue)
-        ProcessNextOperation();
+        ProcessNextOperation(true);
       timer.Stop();
       ExecutionTime += DateTime.Now - lastUpdateTime;
@@ -215,7 +215,7 @@
       timer.Start();
       if (!pausePending && !stopPending && CanContinue)
-        ProcessNextOperation();
+        ProcessNextOperation(false);
       while (!pausePending && !stopPending && CanContinue && !IsAtBreakpoint)
-        ProcessNextOperation();
+        ProcessNextOperation(false);
       timer.Stop();
       ExecutionTime += DateTime.Now - lastUpdateTime;
@@ -247,5 +247,5 @@
     /// is pushed on the stack again.<br/>
     /// If the execution was successful <see cref="EngineBase.OnOperationExecuted"/> is called.</remarks>
-    protected virtual void ProcessNextOperation() {
+    protected virtual void ProcessNextOperation(bool logOperations) {
       try {
         IAtomicOperation atomicOperation = CurrentOperation as IAtomicOperation;
@@ -255,16 +255,20 @@
 
         if (atomicOperation != null) {
-          Log.LogMessage(string.Format("Performing atomic operation {0}", Utils.Name(atomicOperation)));
+          if (logOperations)
+            Log.LogMessage(string.Format("Performing atomic operation {0}", Utils.Name(atomicOperation)));
           PerformAtomicOperation(atomicOperation);
         } else if (operations != null) {
-          Log.LogMessage("Expanding operation collection");
+          if (logOperations)
+            Log.LogMessage("Expanding operation collection");
           ExecutionStack.AddRange(operations.Reverse());
           CurrentOperation = null;
         } else if (ExecutionStack.Count > 0) {
-          Log.LogMessage("Popping execution stack");
+          if (logOperations)
+            Log.LogMessage("Popping execution stack");
           CurrentOperation = ExecutionStack.Last();
           ExecutionStack.RemoveAt(ExecutionStack.Count - 1);
         } else {
-          Log.LogMessage("Nothing to do");
+          if (logOperations)
+            Log.LogMessage("Nothing to do");
         }
         OperatorTrace.Regenerate(CurrentAtomicOperation);
Index: trunk/sources/HeuristicLab.DebugEngine/3.3/DebugEngineView.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.DebugEngine/3.3/DebugEngineView.Designer.cs	(revision 5116)
+++ trunk/sources/HeuristicLab.DebugEngine/3.3/DebugEngineView.Designer.cs	(revision 5117)
@@ -77,7 +77,7 @@
       // executionStackView
       // 
-      this.executionStackView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.executionStackView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.executionStackView.Caption = "Execution Stack View";
       this.executionStackView.Content = null;
@@ -124,4 +124,6 @@
       this.skipStackOpsCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
       this.skipStackOpsCheckBox.AutoSize = true;
+      this.skipStackOpsCheckBox.Checked = true;
+      this.skipStackOpsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
       this.skipStackOpsCheckBox.Location = new System.Drawing.Point(63, 516);
       this.skipStackOpsCheckBox.Name = "skipStackOpsCheckBox";
@@ -146,7 +148,7 @@
       // splitContainer3
       // 
-      this.splitContainer3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.splitContainer3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.splitContainer3.Location = new System.Drawing.Point(0, 0);
       this.splitContainer3.Name = "splitContainer3";
Index: trunk/sources/HeuristicLab.DebugEngine/3.3/OperatorTrace.cs
===================================================================
--- trunk/sources/HeuristicLab.DebugEngine/3.3/OperatorTrace.cs	(revision 5116)
+++ trunk/sources/HeuristicLab.DebugEngine/3.3/OperatorTrace.cs	(revision 5117)
@@ -36,4 +36,7 @@
     [Storable]
     protected Dictionary<IAtomicOperation, IAtomicOperation> parents;
+
+    [Storable]
+    protected bool isEnabled;
     #endregion
 
@@ -90,4 +93,6 @@
 
     public virtual void RegisterParenthood(IAtomicOperation parent, IOperation children) {
+      if (!isEnabled)
+        return;
       OperationCollection operations = children as OperationCollection;
       if (operations != null)
@@ -117,4 +122,15 @@
     }
 
+    public bool IsEnabled {
+      get { return isEnabled; }
+      set {
+        if (isEnabled == value)
+          return;
+        isEnabled = value;
+        if (!isEnabled)
+          Reset();
+      }
+    }
+
     #endregion
   }
Index: trunk/sources/HeuristicLab.DebugEngine/3.3/OperatorTraceView.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.DebugEngine/3.3/OperatorTraceView.Designer.cs	(revision 5116)
+++ trunk/sources/HeuristicLab.DebugEngine/3.3/OperatorTraceView.Designer.cs	(revision 5117)
@@ -50,4 +50,5 @@
       this.listViewColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
       this.imageList = new System.Windows.Forms.ImageList(this.components);
+      this.isEnabledCheckbox = new System.Windows.Forms.CheckBox();
       this.operatorTraceGroupBox.SuspendLayout();
       this.SuspendLayout();
@@ -55,4 +56,5 @@
       // operatorTraceGroupBox
       // 
+      this.operatorTraceGroupBox.Controls.Add(this.isEnabledCheckbox);
       this.operatorTraceGroupBox.Controls.Add(this.listView);
       this.operatorTraceGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -73,8 +75,8 @@
       this.listView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
       this.listView.HideSelection = false;
-      this.listView.Location = new System.Drawing.Point(6, 19);
+      this.listView.Location = new System.Drawing.Point(6, 43);
       this.listView.Name = "listView";
       this.listView.ShowItemToolTips = true;
-      this.listView.Size = new System.Drawing.Size(140, 464);
+      this.listView.Size = new System.Drawing.Size(140, 440);
       this.listView.SmallImageList = this.imageList;
       this.listView.TabIndex = 0;
@@ -89,4 +91,15 @@
       this.imageList.TransparentColor = System.Drawing.Color.Transparent;
       // 
+      // isEnabledCheckbox
+      // 
+      this.isEnabledCheckbox.AutoSize = true;
+      this.isEnabledCheckbox.Location = new System.Drawing.Point(7, 20);
+      this.isEnabledCheckbox.Name = "isEnabledCheckbox";
+      this.isEnabledCheckbox.Size = new System.Drawing.Size(65, 17);
+      this.isEnabledCheckbox.TabIndex = 1;
+      this.isEnabledCheckbox.Text = "Enabled";
+      this.isEnabledCheckbox.UseVisualStyleBackColor = true;
+      this.isEnabledCheckbox.CheckedChanged += new System.EventHandler(this.isEnabledCheckbox_CheckedChanged);
+      // 
       // OperatorTraceView
       // 
@@ -97,4 +110,5 @@
       this.Size = new System.Drawing.Size(152, 489);
       this.operatorTraceGroupBox.ResumeLayout(false);
+      this.operatorTraceGroupBox.PerformLayout();
       this.ResumeLayout(false);
 
@@ -107,4 +121,5 @@
     private System.Windows.Forms.ImageList imageList;
     private System.Windows.Forms.ColumnHeader listViewColumnHeader;
+    private System.Windows.Forms.CheckBox isEnabledCheckbox;
   }
 }
Index: trunk/sources/HeuristicLab.DebugEngine/3.3/OperatorTraceView.cs
===================================================================
--- trunk/sources/HeuristicLab.DebugEngine/3.3/OperatorTraceView.cs	(revision 5116)
+++ trunk/sources/HeuristicLab.DebugEngine/3.3/OperatorTraceView.cs	(revision 5117)
@@ -101,4 +101,9 @@
     }
 
+    protected override void SetEnabledStateOfControls() {
+      base.SetEnabledStateOfControls();
+      isEnabledCheckbox.Enabled = Content != null;
+    }
+
     #region Event Handlers (child controls)
     private void listView_ItemActivate(object sender, EventArgs e) {
@@ -111,4 +116,8 @@
     }
     #endregion
+
+    private void isEnabledCheckbox_CheckedChanged(object sender, EventArgs e) {
+      Content.IsEnabled = isEnabledCheckbox.Checked;
+    }
   }
 
