load ./debug[info sharedlibextension] proc death_by_segmentation { } { seg_crash } proc death_by_bus { } { bus_crash } proc death_by_abort { } { abort_crash -1 } proc death_by_math { } { math_crash 37 0 } proc death_by_buffer { } { overflow_crash } set method 1 proc death {} { global method if { $method == 1 } { death_by_segmentation } if { $method == 2 } { death_by_abort } if { $method == 3 } { death_by_math } if { $method == 4 } { death_by_bus } if { $method == 5 } { death_by_buffer } } label .l -text "How would you like to die today?" pack .l radiobutton .r1 -text "Segmentation fault" -variable method -value 1 pack .r1 -anchor w radiobutton .r2 -text "Failed assertion" -variable method -value 2 pack .r2 -anchor w radiobutton .r3 -text "Math error" -variable method -value 3 pack .r3 -anchor w radiobutton .r4 -text "Bus error" -variable method -value 4 pack .r4 -anchor w radiobutton .r5 -text "Stack overflow" -variable method -value 5 pack .r5 -anchor w button .b -text "Die" -command death pack .b -fill both -expand 1 wm title . "Death Wizard"