The inspect application is a new development tool authored by Hume Integration Software. Inspect is used routinely when developing Tcl/Tk applications. The program has the ability to interactively display and modify a running application without needing code instrumentation or application changes. The program features command entry with history, and is extremely useful for interactively testing newly written code.
The new inspect application is an updated replacement of a similar application that was originally developed by Sam Shen. Inspect accommodates new features of Tcl/Tk such as namespaces, child interpreters, channels, packages, and command aliases. Also, inspect features full support for working with [incr Tcl] classes and objects. The application is deployed as a standalone executable (a Starkit) so that you do not need to have the dependent packages installed, and you can modify your installed software without affecting its operation.
When starting inspect you can optionally specify a target Tcl/Tk application for inspection on the command line. The logic used to interpret the target specification allows for the specification of the target interpreter's send command name, or equivalent connection information when using the Tcl DDE package or Hume Integration's DMH message system.
If the specified target contains the @ symbol, and matches the patterns used to specify a DMH message system mailbox such as mailbox@DMH_Group or mailbox@hostname_or_IP:DMH_Group, then the program attempts to used the DMH message system to connect to the target. Otherwise, if the specified target contains the : character, and matches the pattern hostname_or_IP:DMH_Group the program connects to the target as a DMH server application. If the optionally specified target does not match these conditions, the program determines if the target matches an interpreter name being used with the Tcl/Tk send command. If a match is not found, and the program is being used on Windows, the program will connect to the specified target using DDE if the name can be resolved as a DDE servername in use by a Tcl application.
See the online help for the inspect application for detailed information on making your applications inspectable. If you are using an extended Tcl/Tk shell provided by Hume Integration Software, such as dmh_wish, then the send command is implemented on both Windows and POSIX platforms. Your applications are enabled for inspection without adding any modifications. You can prevent inspection by renaming the send command to an empty string.
A local application is inspectable if it responds to the send command or if it responds to DDE protocol commands on windows. Inspect is also able to target local or remote Tcl applications that load the comm package which is part of the Standard Tcl Library. An application that uses the DMH message system is also inspectable if it receives and processes DMH messages either as Tcl or SQL commands, or if it is acting as the DMH message system server. When inspecting DMH message system applications, if the mailbox name used by the target application ends in "_RPC" inspect assumes that the target application evaluates Tcl commands as done by the mbx_RPC command. For other DMH mailbox names, inspect assumes that the target application processes SQL command messages in the same fashion as the Hume Datahub.
The inspect application may be licensed as a standalone application or as part of the Hume Datahub SDK.