Hi,
I tried to debug application obfuscated by .NET Reactor.
SD gave me an exception on decompiling method and naturally cannot debug the app.
--------------------------------------
SharpDevelop Version : 5.0.0.3652-Beta 1-1300bac3
.NET Version : 4.0.30319.18408
OS Version : Microsoft Windows NT 6.1.7601 Service Pack 1
Current culture : English (United States) (en-US)
Running under WOW6432, processor architecture: x86-64
Working Set Memory : 371232kb
GC Heap Memory : 227269kb
Exception thrown:
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void sHhoJpeifk2bTYUMBLM.KSNa0Ke0J7VDD0RlqJW::Main(System.String[)
---> System.NullReferenceException: Object reference not set to an instance of an object.
at ICSharpCode.Decompiler.CecilExtensions.GetPopDelta(Instruction instruction, MethodDefinition methodDef)
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDefinition methodDef)
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDefinition methodDef, Boolean optimize, DecompilerContext context)
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters)
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDefinition methodDef, DecompilerContext context, IEnumerable`1 parameters)
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDefinition methodDef, DecompilerContext context, IEnumerable`1 parameters)
at ICSharpCode.Decompiler.Ast.AstBuilder.CreateMethod(MethodDefinition methodDef)
at ICSharpCode.Decompiler.Ast.AstBuilder.AddTypeMembers(TypeDeclaration astType, TypeDefinition typeDef)
at ICSharpCode.Decompiler.Ast.AstBuilder.CreateType(TypeDefinition typeDef)
at ICSharpCode.Decompiler.Ast.AstBuilder.AddType(TypeDefinition typeDef)
at ICSharpCode.ILSpyAddIn.ILSpyDecompilerService.CreateAstBuilder(DecompiledTypeReference name, CancellationToken cancellationToken)
at ICSharpCode.ILSpyAddIn.ILSpyDecompilerService.DecompileType(DecompiledTypeReference name, CancellationToken cancellationToken)
at ICSharpCode.ILSpyAddIn.ILSpyParser.Parse(FileName fileName, ITextSource fileContent, Boolean fullParseInformationRequested, IProject parentProject, CancellationToken cancellationToken)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.ParseWithExceptionHandling(ITextSource fileContent, Boolean fullParseInformationRequested, IProject project, CancellationToken cancellationToken)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.DoParse(ITextSource fileContent, IProject parentProject, Boolean fullParseInformationRequested, CancellationToken cancellationToken)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.<>c__DisplayClass12.<DoParseAsync>b__10()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.<ParseAsync>d__7.MoveNext()
---- Recent log messages:
19:59:53.314 [1] DEBUG - Service startup: ICSharpCode.SharpDevelop.ILanguageService
19:59:53.751 [1] DEBUG - Folding update ignored; parse information is outdated version
19:59:53.799 [1] DEBUG - ParseInformationUpdated ilspy://X:/P2.exe/a3BKR1sw3VERlw0iFmM.fTvHYQsA8IZMoU5n6a6.cs (new)
19:59:53.800 [1] DEBUG - ActiveContentChanged to ICSharpCode.ILSpyAddIn.DecompiledViewContent
19:59:53.800 [1] DEBUG - ActiveWorkbenchWindowChanged to [AvalonWorkbenchWindow: [fTvHYQsA8IZMoU5n6a6]]
19:59:53.800 [1] DEBUG - NavigationService
ActiveViewContent: [fTvHYQsA8IZMoU5n6a6]
Subview: TabPageText
19:59:53.800 [1] DEBUG - ActiveViewContentChanged to ICSharpCode.ILSpyAddIn.DecompiledViewContent
19:59:53.846 [1] DEBUG - Resolved (Line 9, Col 2) to
19:59:53.849 [1] DEBUG - ParseInformationUpdated ilspy://X:/P2.exe/a3BKR1sw3VERlw0iFmM.fTvHYQsA8IZMoU5n6a6.cs (updated)
19:59:53.943 [1] DEBUG - Folding update ignored; parse information is outdated version
19:59:56.980 [1] DEBUG - Resolved (Line 9, Col 2) to
20:00:06.093 [1] DEBUG - Resolved (Line 9, Col 2) to
20:00:13.724 [1] DEBUG - ActiveContentChanged to ICSharpCode.SharpDevelop.Dom.ClassBrowser.ClassBrowserPad
20:00:13.737 [1] DEBUG - Resolved (Line 9, Col 2) to
20:00:13.891 [1] DEBUG - Resolved (Line 9, Col 2) to
20:00:14.565 [1] DEBUG - Resolved (Line 9, Col 2) to
20:00:15.856 [1] DEBUG - Resolved (Line 9, Col 2) to
20:00:20.506 [1] DEBUG - Resolved (Line 9, Col 2) to
20:00:20.617 [1] DEBUG - Resolved (Line 9, Col 2) to
20:00:20.854 [13] ERROR - Got DecompilerException while parsing ilspy://X:/P2.exe/sHhoJpeifk2bTYUMBLM.KSNa0Ke0J7VDD0RlqJW.cs
20:00:20.860 [14] ERROR - Got DecompilerException while parsing ilspy://X:/P2.exe/sHhoJpeifk2bTYUMBLM.KSNa0Ke0J7VDD0RlqJW.cs
20:00:20.867 [1] ERROR - Got DecompilerException while parsing ilspy://X:/P2.exe/sHhoJpeifk2bTYUMBLM.KSNa0Ke0J7VDD0RlqJW.cs
20:00:20.867 [1] ERROR - Unhandled WPF exception
--> Exception:
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void sHhoJpeifk2bTYUMBLM.KSNa0Ke0J7VDD0RlqJW::Main(System.String[)
---> System.NullReferenceException: Object reference not set to an instance of an object.
at ICSharpCode.Decompiler.CecilExtensions.GetPopDelta(Instruction instruction, MethodDefinition methodDef)
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDefinition methodDef)
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDefinition methodDef, Boolean optimize, DecompilerContext context)
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters)
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDefinition methodDef, DecompilerContext context, IEnumerable`1 parameters)
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDefinition methodDef, DecompilerContext context, IEnumerable`1 parameters)
at ICSharpCode.Decompiler.Ast.AstBuilder.CreateMethod(MethodDefinition methodDef)
at ICSharpCode.Decompiler.Ast.AstBuilder.AddTypeMembers(TypeDeclaration astType, TypeDefinition typeDef)
at ICSharpCode.Decompiler.Ast.AstBuilder.CreateType(TypeDefinition typeDef)
at ICSharpCode.Decompiler.Ast.AstBuilder.AddType(TypeDefinition typeDef)
at ICSharpCode.ILSpyAddIn.ILSpyDecompilerService.CreateAstBuilder(DecompiledTypeReference name, CancellationToken cancellationToken)
at ICSharpCode.ILSpyAddIn.ILSpyDecompilerService.DecompileType(DecompiledTypeReference name, CancellationToken cancellationToken)
at ICSharpCode.ILSpyAddIn.ILSpyParser.Parse(FileName fileName, ITextSource fileContent, Boolean fullParseInformationRequested, IProject parentProject, CancellationToken cancellationToken)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.ParseWithExceptionHandling(ITextSource fileContent, Boolean fullParseInformationRequested, IProject project, CancellationToken cancellationToken)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.DoParse(ITextSource fileContent, IProject parentProject, Boolean fullParseInformationRequested, CancellationToken cancellationToken)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.Parse(ITextSource fileContent, IProject parentProject, CancellationToken cancellationToken)
at ICSharpCode.SharpDevelop.Parser.ParserService.Parse(FileName fileName, ITextSource fileContent, IProject parentProject, CancellationToken cancellationToken)
at ICSharpCode.AvalonEdit.AddIn.CodeEditorView.UpdateParseInformationForFolding(ParseInformation parseInfo)
at ICSharpCode.AvalonEdit.AddIn.CodeEditor.ParseInformationUpdated(ParseInformation parseInfo)
at ICSharpCode.AvalonEdit.AddIn.CodeEditor.FetchParseInformation()
at ICSharpCode.AvalonEdit.AddIn.CodeEditor.set_FileName(FileName value)
at ICSharpCode.ILSpyAddIn.DecompiledViewContent..ctor(DecompiledTypeReference typeName, String entityTag)
at ICSharpCode.ILSpyAddIn.NavigateToDecompiledEntityService.NavigateTo(FileName assemblyFile, String typeName, String entityIdString)
at ICSharpCode.ILSpyAddIn.NavigateToDecompiledEntityService.NavigateToEntity(IEntity entity)
at ICSharpCode.SharpDevelop.NavigationService.NavigateTo(IEntity entity)
at ICSharpCode.SharpDevelop.Dom.ClassBrowser.MemberTreeNode.ActivateItem(RoutedEventArgs e)
at ICSharpCode.TreeView.SharpTreeViewItem.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(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)
20:00:20.933 [11] ERROR -
--> Exception:
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void sHhoJpeifk2bTYUMBLM.KSNa0Ke0J7VDD0RlqJW::Main(System.String[)
---> System.NullReferenceException: Object reference not set to an instance of an object.
at ICSharpCode.Decompiler.CecilExtensions.GetPopDelta(Instruction instruction, MethodDefinition methodDef)
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDefinition methodDef)
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDefinition methodDef, Boolean optimize, DecompilerContext context)
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters)
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDefinition methodDef, DecompilerContext context, IEnumerable`1 parameters)
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDefinition methodDef, DecompilerContext context, IEnumerable`1 parameters)
at ICSharpCode.Decompiler.Ast.AstBuilder.CreateMethod(MethodDefinition methodDef)
at ICSharpCode.Decompiler.Ast.AstBuilder.AddTypeMembers(TypeDeclaration astType, TypeDefinition typeDef)
at ICSharpCode.Decompiler.Ast.AstBuilder.CreateType(TypeDefinition typeDef)
at ICSharpCode.Decompiler.Ast.AstBuilder.AddType(TypeDefinition typeDef)
at ICSharpCode.ILSpyAddIn.ILSpyDecompilerService.CreateAstBuilder(DecompiledTypeReference name, CancellationToken cancellationToken)
at ICSharpCode.ILSpyAddIn.ILSpyDecompilerService.DecompileType(DecompiledTypeReference name, CancellationToken cancellationToken)
at ICSharpCode.ILSpyAddIn.ILSpyParser.Parse(FileName fileName, ITextSource fileContent, Boolean fullParseInformationRequested, IProject parentProject, CancellationToken cancellationToken)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.ParseWithExceptionHandling(ITextSource fileContent, Boolean fullParseInformationRequested, IProject project, CancellationToken cancellationToken)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.DoParse(ITextSource fileContent, IProject parentProject, Boolean fullParseInformationRequested, CancellationToken cancellationToken)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.<>c__DisplayClass12.<DoParseAsync>b__10()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ICSharpCode.SharpDevelop.Parser.ParserServiceEntry.<ParseAsync>d__7.MoveNext()
20:00:20.934 [11] 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 ICSharpCode.SharpDevelop.SharpDevelopExtensions.<FireAndForget>b__0(Task t)
at System.Threading.Tasks.ContinuationTaskFromTask.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(Object obj)
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.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
---- Post-error application state information:
Installed 3rd party AddIns:
ProjectService.CurrentSolution: <null>
ProjectService.CurrentProject: <null>
Workbench.ActiveContent: System.InvalidOperationException: The calling thread cannot access this object because a different thread owns it.
at System.Windows.Threading.Dispatcher.VerifyAccess()
at ICSharpCode.SharpDevelop.DispatcherMessageLoop.VerifyAccess()
at ICSharpCode.SharpDevelop.Workbench.WpfWorkbench.get_ActiveContent()
at ICSharpCode.SharpDevelop.Workbench.WorkbenchStartup.<InitializeWorkbench>b__0()
at ICSharpCode.Core.ApplicationStateInfoService.GetCurrentApplicationStateInfo()