public static void Show(IWin32Window owner, JavaScriptException exception) { if (owner == null) { throw new ArgumentNullException(nameof(owner)); } if (exception == null) { throw new ArgumentNullException(nameof(exception)); } using (var form = new ExceptionForm()) { form._exceptionThrown.Text = String.Format(form._exceptionThrown.Text, GetType(exception)); form._additionalInformation.Text = String.Format(form._additionalInformation.Text, GetMessage(exception)); form._location.Text = String.Format(form._location.Text, GetLocation(exception)); if (exception.DebugInformation == null || exception.DebugInformation.Globals.Count == 0) { form.Showing += (s, e) => { int dockPanelHeight = form._dockPanel.Height; form._dockPanel.Dispose(); form.MinimumSize = new Size(0, form.Height - dockPanelHeight); form.MaximumSize = new Size(int.MaxValue, form.Height - dockPanelHeight); }; } else { var callStack = new CallStackControl(); callStack.LoadCallStack(exception.DebugInformation); form.ShowPanel(callStack); var globalVariables = new VariablesControl { Text = "Globals" }; globalVariables.LoadVariables(exception.DebugInformation, VariablesMode.Globals); form.ShowPanel(globalVariables); var localVariables = new VariablesControl { Text = "Locals" }; localVariables.LoadVariables(exception.DebugInformation, VariablesMode.Locals); form.ShowPanel(localVariables); callStack.DockHandler.Activate(); } form.ShowDialog(owner); } }
private void LoadTabs(DebugInformation debug) { _localsControl.LoadVariables(debug, VariablesMode.Locals); _globalsControl.LoadVariables(debug, VariablesMode.Globals); _callStackControl.LoadCallStack(debug); }