All Manuals > LispWorks® User Guide and Reference Manual > 34 The DBG Package

remote-inspect Function


Client side: inspect a client side object in an Inspector tool on the IDE side.




remote-inspect object &key connection

Any object.

The function remote-inspect causes an Inspector tool on the IDE side to inspect a client side object. The actual object in the Inspector is a remote object handle to the client side object. The Inspector tool itself is an ordinary Inspector tool, and there is nothing that makes it a "remote" tool in any way.

connection specifies which connection to use. If it is supplied and is a valid open client connection, it is used.

If connection is nil (the default) or is not a valid connection, remote-inspect first checks if there is a default connection that is enabled (by default, if there is a default connection then it is enabled, see set-remote-debugging-connection) and uses that, the same as the Debugger and Listener do. However, if there is no default connection enabled, remote-inspect behaves differently from the Debugger and Listener, because there is no obvious time-point to close temporary connections.

If there is no enabled default connection, remote-inspect does the following:


With the default setting, the connection opening function (start-client-remote-debugging-server or configure-remote-debugging-spec) both configures and enables the default connection, so remote-inspect will just use that connection (maybe opening it the first time).

An ordinary inspector can inspect a remote object because the generic function get-inspector-values has a method that specializes on remote object handles to invoke get-inspector-values on the client side and return the results. Thus remote-inspect can work only if get-inspector-values works on the client side. which is not guaranteed when delivering an application at higher values of the level argument to deliver.

The only way to close a non-default connection that was opened by remote-inspect is to terminate the process that runs it on either the IDE or client side.

You can also inspect a remote object from the Remote Debugger or Remote Listener.

See also

3.7 Remote debugging

LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:32