public ExceptionWindow(DebuggerService debuggerService, Thread thread, TargetEventArgs args) { this.debuggerService = debuggerService; Glade.XML gxml = new Glade.XML("gui.glade", "exceptionWindow", null); gxml.Autoconnect(this); image.Pixbuf = Pixmaps.Exception.GetPixbuf(); if (args.Type == TargetEventType.UnhandledException) { buttonContinue.Visible = false; } labelExceptionCaught.Text = (args.Type == TargetEventType.Exception ? "Exception" : "Unandled exception") + " has been caugth:"; StringBuilder sb = new StringBuilder(); StackFrame[] callstack; try { callstack = thread.GetBacktrace().Frames; } catch { return; } foreach(StackFrame frame in callstack) { sb.Append(frame.ToString() + Environment.NewLine); } textviewCallstack.Buffer.Text = sb.ToString(); }