Tcl has no built-in debugger. It has a trace command which allows to see all modifications of a variable, but usually inserting puts commands into the source is enough to spot the error.