public void WriteAssembly(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { var asm = GetAssembly(ilbp); if (asm != null) { output.Write(asm); } else { output.WriteFilename(ilbp.Assembly); } return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { // nothing return; } }
public void WriteName(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { vm.NameError = false; bool printedToken = false; if (vm.Context.ShowTokens) { WriteToken(output, ilbp.SerializedDnToken.Token); output.WriteSpace(); printedToken = true; } // If this is a method in a dynamic module and the module hasn't been loaded yet, // this call will try to load it, and then open a dialog box showing the progress. // But in rare cases we can't show the dialog box because of Dispatcher limitations, // so if we must load the module, fail. Passing in false will prevent loading // dynamic modules. var method = vm.GetMethodDef(false); if (method == null) { vm.NameError = true; if (printedToken) { output.Write("???", TextTokenKind.Error); } else { output.Write(string.Format("0x{0:X8}", ilbp.SerializedDnToken.Token), TextTokenKind.Number); } } else { MethodLanguage.Write(output, method, GetFlags(vm.Context)); } output.WriteSpace(); output.Write("+", TextTokenKind.Operator); output.WriteSpace(); WriteILOffset(output, ilbp.ILOffset); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { //TODO: return; } Debug.Fail(string.Format("Unknown breakpoint type: {0}", vm.Breakpoint.GetType())); }
internal void OnNameErrorChanged(BreakpointVM vm) { // Called by vm.Dispose() when it's already been removed so don't add an Assert() here if (vm.NameError) { nameErrorCounter++; } else { nameErrorCounter--; } Debug.Assert(0 <= nameErrorCounter && nameErrorCounter <= breakpointList.Count); }
internal static void GoTo(BreakpointVM vm, bool newTab) { if (vm == null) { return; } var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp == null) { return; } DebugUtils.GoToIL(ilbp.SerializedDnSpyToken.Module, ilbp.SerializedDnSpyToken.Token, ilbp.ILOffset, newTab); }
internal static void GoTo(BreakpointVM vm, bool newTab) { if (vm == null) { return; } var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp == null) { return; } DebugUtils.GoToIL(ilbp.Assembly, ilbp.MethodKey, ilbp.ILOffset, newTab); }
public void WriteFile(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { output.WriteFilename(ilbp.SerializedDnToken.Module.ModuleName); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { // nothing return; } }
public void WriteAssembly(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { output.Write(new AssemblyNameInfo(ilbp.SerializedDnToken.Module.AssemblyFullName)); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { // nothing return; } }
public void WriteFile(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { output.WriteFilename(ilbp.MethodKey.Module.Name); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { // nothing return; } }
public void WriteModule(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { // Always use the filename since it matches the module names in the call stack and // modules windows output.WriteModule(ModulePathToModuleName(ilbp.SerializedDnToken.Module.ModuleName)); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { // nothing return; } }
public void WriteName(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { vm.NameError = false; bool printedToken = false; if (BreakpointSettings.Instance.ShowTokens) { WriteToken(output, ilbp.SerializedDnSpyToken.Token); output.WriteSpace(); printedToken = true; } // If this is a method in a dynamic module and the module hasn't been loaded yet, // this call will try to load it, and then open a dialog box showing the progress. // But in rare cases we can't show the dialog box because of Dispatcher limitations, // so if we must load the module, fail. Passing in false will prevent loading // dynamic modules. var method = vm.GetMethodDef(false); if (method == null) { vm.NameError = true; if (printedToken) output.Write("???", TextTokenType.Error); else output.Write(string.Format("0x{0:X8}", ilbp.SerializedDnSpyToken.Token), TextTokenType.Number); } else MethodLanguage.WriteToolTip(output, method, null); output.WriteSpace(); output.Write('+', TextTokenType.Operator); output.WriteSpace(); WriteILOffset(output, ilbp.ILOffset); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { //TODO: return; } Debug.Fail(string.Format("Unknown breakpoint type: {0}", vm.Breakpoint.GetType())); }
public void WriteName(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { var module = GetModule(ilbp) as ModuleDefMD; if (BreakpointSettings.Instance.ShowTokens) { WriteToken(output, ilbp.MethodKey.Token); output.WriteSpace(); } var method = module == null ? null : module.ResolveToken(ilbp.MethodKey.Token) as IMemberRef; if (method == null) { output.Write(string.Format("0x{0:X8}", ilbp.MethodKey.Token), TextTokenType.Number); } else { MethodLanguage.WriteToolTip(output, method, null); } output.WriteSpace(); output.Write('+', TextTokenType.Operator); output.WriteSpace(); WriteILOffset(output, ilbp.ILOffset); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { //TODO: return; } Debug.Fail(string.Format("Unknown breakpoint type: {0}", vm.Breakpoint.GetType())); }
public void WriteName(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { var module = GetModule(ilbp) as ModuleDefMD; if (BreakpointSettings.Instance.ShowTokens) { WriteToken(output, ilbp.MethodKey.Token); output.WriteSpace(); } var method = module == null ? null : module.ResolveToken(ilbp.MethodKey.Token) as IMemberRef; if (method == null) output.Write(string.Format("0x{0:X8}", ilbp.MethodKey.Token), TextTokenType.Number); else MethodLanguage.WriteToolTip(output, method, null); output.WriteSpace(); output.Write('+', TextTokenType.Operator); output.WriteSpace(); WriteILOffset(output, ilbp.ILOffset); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { //TODO: return; } Debug.Fail(string.Format("Unknown breakpoint type: {0}", vm.Breakpoint.GetType())); }
public void WriteModule(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { // Always use the filename since it matches the module names in the call stack and // modules windows output.WriteModule(ModulePathToModuleName(ilbp.MethodKey.Module.Name)); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { // nothing return; } }
internal static void GoTo(IModuleIdProvider moduleIdProvider, IFileTabManager fileTabManager, Lazy <IModuleLoader> moduleLoader, BreakpointVM vm, bool newTab) { if (vm == null) { return; } var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp == null) { return; } DebugUtils.GoToIL(moduleIdProvider, fileTabManager, moduleLoader.Value, ilbp.MethodToken.Module, ilbp.MethodToken.Token, ilbp.ILOffset, newTab); }
public void WriteFile(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { output.WriteFilename(ilbp.SerializedDnSpyToken.Module.ModuleName); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { // nothing return; } }
public void WriteAssembly(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { output.Write(new AssemblyNameInfo(ilbp.SerializedDnSpyToken.Module.AssemblyFullName)); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { // nothing return; } }
internal void OnNameErrorChanged(BreakpointVM vm) { // Called by vm.Dispose() when it's already been removed so don't add an Assert() here if (vm.NameError) nameErrorCounter++; else nameErrorCounter--; Debug.Assert(0 <= nameErrorCounter && nameErrorCounter <= breakpointList.Count); }
public void WriteAssembly(BreakpointVM vm) { var ilbp = vm.Breakpoint as ILCodeBreakpoint; if (ilbp != null) { var asm = GetAssembly(ilbp); if (asm != null) output.Write(asm); else output.WriteFilename(ilbp.Assembly); return; } var debp = vm.Breakpoint as DebugEventBreakpoint; if (debp != null) { // nothing return; } }