So far this is the best I can come up with. Use the following command to redefine a Tcl proc to do remote debugging. # TclPro Debugging # proc dproc { names args_list body } { proc $names $args_list [subst -nocommands { debugger_init return [debugger_eval { $body }] }] }