diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/ObjectGraphPad.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/ObjectGraphPad.cs index a14fad2a2c..447b8b2d50 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/ObjectGraphPad.cs +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/ObjectGraphPad.cs @@ -47,10 +47,9 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads public override void RefreshPad() { // BUG: if pad window is undocked and floats standalone, IsVisible == false (so pad won't refresh) - // REQUEST: need to refresh pad + // REQUEST: need to refresh when pad becomes visible -> VisibleChanged event? if (!this.IsVisible) { - LoggingService.Info("skipped refresh"); return; } if (debuggedProcess == null || debuggedProcess.IsRunning || debuggedProcess.SelectedStackFrame == null) { diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs index 886ac8ff30..ab260999c9 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs @@ -180,8 +180,8 @@ namespace ICSharpCode.SharpDevelop.Services DebugStarting(this, EventArgs.Empty); Process process = debugger.Start(processStartInfo.FileName, - processStartInfo.WorkingDirectory, - processStartInfo.Arguments); + processStartInfo.WorkingDirectory, + processStartInfo.Arguments); SelectProcess(process); } } @@ -384,8 +384,7 @@ namespace ICSharpCode.SharpDevelop.Services try { Value val = GetValueFromName(variableName); if (val == null) return null; - //expressionNode = new ExpressionNode(ExpressionNode.GetImageForLocalVariable(), variableName, val.ExpressionTree); - expressionNode = new ExpressionNode(null, variableName, val.ExpressionTree); + expressionNode = new ExpressionNode(ExpressionNode.GetImageForLocalVariable(), variableName, val.ExpressionTree); } catch (GetValueException) { return null; } diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraphControl.xaml.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraphControl.xaml.cs index c28b308f18..3c68d02215 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraphControl.xaml.cs +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Visualizers/Graph/ObjectGraphControl.xaml.cs @@ -117,7 +117,7 @@ namespace Debugger.AddIn.Visualizers.Graph catch(Debugger.GetValueException ex) { graphBuiltOk = false; - showErrorMessage("Cannot evaluate: " + ex.Message); + showErrorMessage("Expression cannot be evaluated - " + ex.Message); } if (graphBuiltOk) { diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Eval.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Eval.cs index 6ce5af4b71..2edf0a0dc2 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Eval.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Eval.cs @@ -282,7 +282,7 @@ namespace Debugger // TODO: Check if it is primitive type Value val = Eval.NewObjectNoConstructor(DebugType.CreateFromType(appDomain, value.GetType())); val.PrimitiveValue = value; - val.ExpressionTree = new PrimitiveExpression(val); + val.ExpressionTree = new PrimitiveExpression(value); return val; } } diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Process-StateControl.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Process-StateControl.cs index f9eb2ac684..165aea2a9a 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Process-StateControl.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Process-StateControl.cs @@ -32,11 +32,11 @@ namespace Debugger if (Paused != null) { foreach(Delegate d in Paused.GetInvocationList()) { if (IsRunning) { - TraceMessage ("Skipping OnPaused delegate becuase process has resumed"); + TraceMessage ("Skipping OnPaused delegate because process has resumed"); break; } if (this.TerminateCommandIssued || this.HasExited) { - TraceMessage ("Skipping OnPaused delegate becuase process has exited"); + TraceMessage ("Skipping OnPaused delegate because process has exited"); break; } d.DynamicInvoke(this, new ProcessEventArgs(this)); diff --git a/src/Main/Base/Project/Src/Services/Debugger/Tooltips/VisualizerPicker.cs b/src/Main/Base/Project/Src/Services/Debugger/Tooltips/VisualizerPicker.cs index c03f43d5ea..2366ed7606 100644 --- a/src/Main/Base/Project/Src/Services/Debugger/Tooltips/VisualizerPicker.cs +++ b/src/Main/Base/Project/Src/Services/Debugger/Tooltips/VisualizerPicker.cs @@ -35,6 +35,9 @@ namespace ICSharpCode.SharpDevelop.Debugging } clickedCommand.Execute(); + // make no item selected, so that multiple selections of the same item always execute the command + // this triggers VisualizerPicker_SelectionChanged again, which returns immediately + this.SelectedIndex = -1; } public new IEnumerable ItemsSource