So far this is the best I can come up with. Use the following command to redefine a [Tcl] [proc] to do remote debugging. [JAC] Ideally I'd like to be able to instrument all the code so that I can easily set breakpoints and step through better. The problem lies in the way [AOLserver] handles its [thread]s. There is a single master thread that does the original sourcing of all your code. Then each connection thread introspects the master thread for its code. So the connection threads never call the '''source''' command like the master thread did. This prevents [TDK] from instrumenting in a nice way. The simple procedure below will at least let you debug a single page at a time when it's turned on. ---- # TclPro Debugging # proc dproc { names args_list body } { proc $names $args_list [subst -nocommands { debugger_init return [debugger_eval { $body }] }] } ---- This information was posted by Nathan Folkman to the AOLServer list on 2006-09-06: '''Debugging AOLserver pages''' * Configure AOLserver to allow debugging, and restart: ns_section "ns/server/server1/adp" ns_param enabledebug true * Download and install the TclDevKit * Start the debugger: % tcldebugger & * Start a new session: File > New-Project * Start a new remote session: Debugging Type > Remote Debugging * Append the following information to the page you wish to debug: ?debug=&dhost=&dport=&dprocs= * AOLserver Dubugging Query Arguments: debug String. The files you wish to debug. (Example: *, *.adp, foo.inc) dhost String. The host name the Tcl debugger is listening on. (Example: 127.0.0.1) dport Integer. The port the Tcl debugger is listening on. (Example: 2576) dprocs String. Procedures to instrument. (Example: ns*, foo_something) * Example: http://foo.com:8000/test.adp?debug=*&dhost=127.0.0.1&dport=2576 ---- [Category Debugging] | [Category Webserver]