Connect Remote Debugging and
Reconnect Remote Listener, the "remote" editor commands expect there to be an open connection to a client. This may be opened by
Connect Remote Debugging, by an explicit call to
dbg:ide-connect-remote-debugging, by using the
tab (see Remote Debugging Client), or by a connection from a client (after calling
dbg:start-ide-remote-debugging-server on the IDE side).
Connect Remote Debugging allows you to connect to a remote client from the Editor. It prompts for a host name and a port (using the value of
dbg:*default-client-remote-debugging-server-port* as the default) and calls
:open-a-listener t and
mp:*background-standard-output* as the log-stream. Note that the client side must have already called
dbg:start-client-remote-debugging-server for this to work.
Remote Evaluate Defun,
Remote Evaluate Region,
Remote Evaluate Buffer and
Remote Evaluate Last Form send forms from the editor for evaluation on the client side. They work like their ordinary counterparts (commands without "Remote "), but they use
dbg:ide-eval-form-in-remote to evaluate the forms.
Remote Evaluate Defun In Listener,
Remote Evaluate Last Form In Listener,
Remote Evaluate Region In Listener evaluate forms in a Remote Listener. They do the same as their ordinary counterparts (commands without "Remote "), but look for a remote listener. If there is no current remote listener, they open one (using
Normally you have only one remote debugging connection, so there is no ambiguity about which connection to use for these commands. If you have more than debugging connection, you can use the command
Set Default Remote Debugging Connection to set which connection the commands above use (which calls
dbg:ide-set-default-remote-debugging-connection). If no default is set, the commands use the last connection that was opened.
The Editor command
Reconnect Remote Listener can be used only in a Remote Listener after the client side has disconnected, which may be either because the read-eval-print loop on the client side exited, or the connection was closed (which may also be because the client crashed). The command tries to reconnect the Listener to the same client, which can work if the connection is still open, if there is another connection to the same client, or if the client is listening for connections (that is the client called
Note that the IDE recognizes the client only by its hostname and port number. Therefore, the reconnection is not necessarily to the same invocation on the client side. It may be a different invocation of the same application or a different application, and if the configuration of the network changes, it may be a different device altogether.
LispWorks IDE User Guide (Macintosh version) - 13 Sep 2017