OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [start/] [insight/] [libgui/] [library/] [bgerror.tcl] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
# bgerror.tcl - Send bug report in response to uncaught Tcl error.
2
# Copyright (C) 1997, 1998, 1999 Cygnus Solutions.
3
# Written by Tom Tromey <tromey@cygnus.com>.
4
 
5
proc bgerror err {
6
  global errorInfo errorCode
7
 
8
  set info $errorInfo
9
  set code $errorCode
10
 
11
  # log the error to the debug window or file
12
  dbug E $info
13
  dbug E $code
14
 
15
  set command [list tk_dialog .bgerrorDialog [gettext "GDB Error"] \
16
                 [format [gettext "Error: %s"] $err] \
17
                 error 0 [gettext "OK"]]
18
  lappend command [gettext "Stack Trace"]
19
 
20
 
21
  set value [eval $command]
22
  if {$value == 0} {
23
    return
24
  }
25
 
26
  set w .bgerrorTrace
27
  catch {destroy $w}
28
  toplevel $w -class ErrorTrace
29
  wm minsize $w 1 1
30
  wm title $w "Stack Trace for Error"
31
  wm iconname $w "Stack Trace"
32
  button $w.ok -text OK -command "destroy $w" -default active
33
  text $w.text -relief sunken -bd 2 -yscrollcommand "$w.scroll set" \
34
    -setgrid true -width 60 -height 20
35
  scrollbar $w.scroll -relief sunken -command "$w.text yview"
36
  pack $w.ok -side bottom -padx 3m -pady 2m
37
  pack $w.scroll -side right -fill y
38
  pack $w.text -side left -expand yes -fill both
39
  $w.text insert 0.0 "errorCode is $errorCode"
40
  $w.text insert 0.0 $info
41
  $w.text mark set insert 0.0
42
 
43
  bind $w <Return> "destroy $w"
44
  bind $w.text <Return> "destroy $w; break"
45
 
46
  # Center the window on the screen.
47
 
48
  wm withdraw $w
49
  update idletasks
50
  set x [expr [winfo screenwidth $w]/2 - [winfo reqwidth $w]/2 \
51
           - [winfo vrootx [winfo parent $w]]]
52
  set y [expr [winfo screenheight $w]/2 - [winfo reqheight $w]/2 \
53
           - [winfo vrooty [winfo parent $w]]]
54
  wm geom $w +$x+$y
55
  wm deiconify $w
56
 
57
  # Be sure to release any grabs that might be present on the
58
  # screen, since they could make it impossible for the user
59
  # to interact with the stack trace.
60
 
61
  if {[grab current .] != ""} {
62
    grab release [grab current .]
63
  }
64
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.