Expected result: Object graph visualiser opens showing object properties
Actual result: Object graph visualiser opens, but doesn't show any objects. The object graph visualiser window cannot be intereacted with (ie can't close, move, etc). An exception is also thrown.
Steps to reproduce:
1) open existing C# project
2) Click solid green triangle to start program with debugger attached
3) Mouseover a class / structure instance
4) Click magnifying glass->Open object graph browser
5) Stop debugger
6) Click solid green triangle to start program with debugger attached
7) Mouseover a class / structure instance
8) Click magnifying glass->Open object graph browser
9) Watch exception get thrown!
Repeatability: Very
Exception Output:
SharpDevelop Version : 5.0.0.4755-c848dc28
.NET Version : 4.5.50938
OS Version : Microsoft Windows NT 6.1.7601 Service Pack 1
Current culture : English (United Kingdom) (en-GB)
Running under WOW6432, processor architecture: x86-64
Working Set Memory : 334112kb
GC Heap Memory : 158158kb
Exception thrown:
System.InvalidOperationException: Both arguments to IsDerivedFrom() must be from the same compilation.
at ICSharpCode.NRefactory.TypeSystem.TypeSystemExtensions.IsDerivedFrom(ITypeDefinition type, ITypeDefinition baseType)
at Debugger.Eval.MethodInvokeStarter(Eval eval, IMethod method, Value thisValue, Value[ args)
at Debugger.Eval.<>c__DisplayClass1.<AsyncInvokeMethod>b__0(Eval eval)
at Debugger.Eval..ctor(Thread evalThread, String description, EvalStarter evalStarter)
at Debugger.Eval.AsyncInvokeMethod(Thread evalThread, IMethod method, Value thisValue, Value[ args)
at Debugger.Eval.InvokeMethod(Thread evalThread, IMethod method, Value thisValue, Value[ args)
at Debugger.AddIn.Visualizers.Utils.DebuggerHelpers.InvokeDefaultGetHashCode(Value value)
at Debugger.AddIn.Visualizers.Graph.ObjectGraphBuilder.createNewNode(Value permanentReference, GraphExpression expression)
at Debugger.AddIn.Visualizers.Graph.ObjectGraphBuilder.buildGraphForValue(Value rootValue, GraphExpression rootExpression, ExpandedExpressions expandedNodes)
at Debugger.AddIn.Visualizers.Graph.ObjectGraphBuilder.BuildGraphForExpression(GraphExpression expression, ExpandedExpressions expandedNodes)
at Debugger.AddIn.Visualizers.Graph.ObjectGraphControl.RebuildGraph()
at Debugger.AddIn.Visualizers.Graph.ObjectGraphControl.Refresh()
at Debugger.AddIn.Visualizers.Graph.ObjectGraphControl.<RefreshView>b__0()
at Debugger.AddIn.TreeModel.Utils.<>c__DisplayClass1.<EnqueueWork>b__0()
---- Recent log messages:
15:34:50.770 [12] DEBUG - Cannot read from WorkerProcess 5572: end of stream
15:34:50.770 [12] DEBUG - Stopped reading from WorkerProcess 5572.
15:34:50.770 [12] DEBUG - Telling worker process to exit
15:34:50.770 [12] DEBUG - End of reader thread on WorkerProcess 5572.
15:34:50.771 [27] DEBUG - Joined!
15:34:51.220 [11] DEBUG - Telling worker process to exit
15:34:51.221 [11] DEBUG - Waiting for thread-join
15:34:51.222 [19] DEBUG - Cannot read from WorkerProcess 4956: end of stream
15:34:51.222 [19] DEBUG - Stopped reading from WorkerProcess 4956.
15:34:51.222 [19] DEBUG - Telling worker process to exit
15:34:51.222 [19] DEBUG - End of reader thread on WorkerProcess 4956.
15:34:51.223 [11] DEBUG - Joined!
15:34:57.682 [1] DEBUG - Resolved (Line 415, Col 3) to
15:34:57.683 [1] DEBUG - Resolved (Line 415, Col 3) to
15:34:58.475 [1] INFO - Debugger Command: StepOver
15:34:58.493 [1] INFO - Open file c:\Users\Grahame\Documents\Source Code\C#\SimSystemII\SimSys2\frmMainII.cs
15:34:58.505 [1] INFO - Evaluating watch: newESStyle
15:34:58.506 [1] DEBUG - Resolved (Line 409, Col 13) to [LocalResolveResult DevComponents.DotNetBar.ElementStyle newESStyle;]
15:34:58.510 [1] INFO - Evaluated node 'newESStyle' in 4 ms
15:34:59.009 [27] DEBUG - Resolved (Line 409, Col 13) to [LocalResolveResult DevComponents.DotNetBar.ElementStyle newESStyle;]
15:35:00.505 [1] DEBUG - Resolved (Line 409, Col 20) to [LocalResolveResult DevComponents.DotNetBar.ElementStyle newESStyle;]
15:35:00.507 [1] INFO - Evaluated node 'newESStyle' in 2 ms
15:35:05.050 [1] INFO - Evaluated node 'newESStyle' in 0 ms (result cached)
15:35:05.050 [1] ERROR -
--> Exception:
System.InvalidOperationException: Both arguments to IsDerivedFrom() must be from the same compilation.
at ICSharpCode.NRefactory.TypeSystem.TypeSystemExtensions.IsDerivedFrom(ITypeDefinition type, ITypeDefinition baseType)
at Debugger.Eval.MethodInvokeStarter(Eval eval, IMethod method, Value thisValue, Value[ args)
at Debugger.Eval.<>c__DisplayClass1.<AsyncInvokeMethod>b__0(Eval eval)
at Debugger.Eval..ctor(Thread evalThread, String description, EvalStarter evalStarter)
at Debugger.Eval.AsyncInvokeMethod(Thread evalThread, IMethod method, Value thisValue, Value[ args)
at Debugger.Eval.InvokeMethod(Thread evalThread, IMethod method, Value thisValue, Value[ args)
at Debugger.AddIn.Visualizers.Utils.DebuggerHelpers.InvokeDefaultGetHashCode(Value value)
at Debugger.AddIn.Visualizers.Graph.ObjectGraphBuilder.createNewNode(Value permanentReference, GraphExpression expression)
at Debugger.AddIn.Visualizers.Graph.ObjectGraphBuilder.buildGraphForValue(Value rootValue, GraphExpression rootExpression, ExpandedExpressions expandedNodes)
at Debugger.AddIn.Visualizers.Graph.ObjectGraphBuilder.BuildGraphForExpression(GraphExpression expression, ExpandedExpressions expandedNodes)
at Debugger.AddIn.Visualizers.Graph.ObjectGraphControl.RebuildGraph()
at Debugger.AddIn.Visualizers.Graph.ObjectGraphControl.Refresh()
at Debugger.AddIn.Visualizers.Graph.ObjectGraphControl.<RefreshView>b__0()
at Debugger.AddIn.TreeModel.Utils.<>c__DisplayClass1.<EnqueueWork>b__0()
15:35:05.053 [1] WARN - Stack trace of last exception log:
at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at ICSharpCode.SharpDevelop.Logging.SDMessageService.ShowException(Exception ex, String message)
at Debugger.AddIn.TreeModel.Utils.<>c__DisplayClass1.<EnqueueWork>b__0()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at ICSharpCode.SharpDevelop.Workbench.WorkbenchStartup.Run(IList`1 fileList)
at ICSharpCode.SharpDevelop.Sda.CallHelper.RunWorkbenchInternal(Object settings)
at ICSharpCode.SharpDevelop.Sda.CallHelper.RunWorkbench(WorkbenchSettings settings)
at ICSharpCode.SharpDevelop.Sda.SharpDevelopHost.RunWorkbench(WorkbenchSettings settings)
at ICSharpCode.SharpDevelop.Startup.SharpDevelopMain.RunApplication()
at ICSharpCode.SharpDevelop.Startup.SharpDevelopMain.Run()
at ICSharpCode.SharpDevelop.Startup.SharpDevelopMain.Main(String[ args)
---- Post-error application state information:
Installed 3rd party AddIns:
ProjectService.CurrentSolution: [Solution C:\Users\Grahame\Documents\Source Code\C#\SimSystemII\SimSys2.sln with 5 projects]
ProjectService.CurrentProject: [CSharpProject: SimSys2]
Workbench.ActiveContent: [AvalonEditViewContent C:\Users\Grahame\Documents\Source Code\C#\SimSystemII\SimSys2\frmMainII.cs]