The Preferences dialog Debugger options has a Remote tab that gives you options for remote debugging. To use it, raise the Preferences dialog as described in Setting preferences, select Debugger in the list on the left, and select the Remote tab.
Figure 31.1 Remote Debugger Preferences
The
Remote Debugging Client
section allows you to connect to a debugging client that is waiting for connections (see "Using the client as the TCP server" in the "The Debugger" chapter of the
LispWorks User Guide and Reference Manual
). It also sets the hostname and port to be used when you choose
Tools > Remote Listener
. You need to enter the hostname in the
Host Name
pane, and optionally you can also change the TCP port number in the
Port Number
pane. You then can connect to the debugging client by clicking
Connect To Debugging Client
, which calls dbg:ide-connect-remote-debugging
with the hostname and the port. In addition, once you confirm the change, choosing
Tools > Remote Listener
will use the hostname and port to open a connection if it does not have an existing connection.
If there is already a connection, the button changes to Close Connection To Debugging Client , and clicking it closes the connection. Note that an existing connection is only found if it was opened with exactly the same hostname and port; other connections to the same client are ignored, for example those by the debugging client connecting, or with a different hostname that names the same machine. If there is more than one such connection, only one is closed in each click.
Note that at the time you connect, the client side must already be listening, that is it must have already called dbg:start-client-remote-debugging-server
, with a port number that matches your setting.
The Remote Listener section gives some control over the behavior of the Remote Listener.
If Use Existing Connection is checked, then any existing debugging connection is re-used when you choose Tools > Remote Listener , ignoring the host and port that are set in the Remote Debugging Client section. If Use Existing Connection is not set, opening a Remote Listener always opens a new connection, using the hostname and port number as described in Remote Debugging Client.
If
Close Listener On Exit
is checked, then the Remote Listener window closes automatically when the read-eval-print loop on the client side exits or the connection has been closed (which may also because the client crashes). If
Close Listener On Exit
is unchecked, then the Remote Listener remains visible but is marked in its title as <closed> or <exited> and does not evaluate input anymore. You can still look at all the interaction that you had in it, copy it or save it to a file. Moreover, you can reconnect it using the Reconnect Remote Listener
Editor command.
Close Listener On Exit
affects the behavior of all Remote Listeners, independently of how they were opened.
The
IDE Remote Debugging Server
section allows you to start and stop an IDE remote debugging server (see "Using the IDE as the TCP server" in the "The Debugger" chapter of the
LispWorks User Guide and Reference Manual
). The
Port Number
pane allows you to specify the TCP port number (blank means use the default). Clicking
Start IDE Remote Debugging Server
starts the server by calling dbg:start-ide-remote-debugging-server
with the port number. Once the server is running, clients can connect to it as described in the LWUGRM.
If there is already an IDE remote debugging server, the button changes to Stop Running IDE Remote Debugging Server , and clicking it stops the server. Stopping the server prevents new connections from being made but does not close any connections that have already been opened to it.
Note that changing the port numbers does not affect the values of the remote-debugger module variables (dbg:*default-ide-remote-debugging-server-port*
and dbg:*default-client-remote-debugging-server-port*
). The defaults of the port numbers come from the variables, but otherwise there is no interaction between these.
In normal usage you should not change the port numbers, because any change must be matched on the client side. You will need to change them if there are clashes with other usage of the ports by any other software on the same machines.
LispWorks IDE User Guide (Windows version) - 13 Sep 2017