All Manuals > LispWorks IDE User Guide > 31 Remote Debugging


31.4 Configuring Remote Debugging

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

31.4.1 Remote Debugging Client

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 Works > 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 Works > 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.

31.4.2 Remote Listener

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 Works > 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.

31.4.3 IDE Remote Debugging Server

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 (Unix version) - 13 Sep 2017