ADA.PROBE(1) — Series 300 Only (Requires Optional Ada Software)
NAME
ada.probe − Ada source level debugger and viewer
SYNOPSIS
ada.probe [ options ] executable [ args ]
Remarks:
This command requires installation of optional Ada software (not included with the standard HP-UX operating system) before it can be used.
DESCRIPTION
Ada.probe is a source level debugger for Ada programs. It provides a controlled environment for their execution. Additionally, ada.probe provides powerful source viewing facilities for analyzing the static structure of large Ada programs.
Executable is an Ada executable program file having one or more units compiled with either the -d or -D option of the ada(1) command. In addition, the binding of the program must have included either of these options to create the associated executable.cui file. Ada.probe information is stored solely in the Ada program library and in the executable.cui file. The executable file is not modified in any way.
The following options are recognized:
-c Dialog between the executable and the user starts at the current cursor position within the ada.probe screen. Only one of the options -c or −m may be selected.
-e file Redirect standard error of the executable to the specified file name.
-i file Redirect standard input of the executable from the specified file name.
-l file Record any output written to the Message Window in the specified file name.
-m Dialog between the executable and user is held in the Message Window of the ada.probe screen. Only one of the options -c or −m may be selected.
-o file Redirect standard output of the executable to the specified file name.
Ada.probe invokes the executable with the specified args (if any). The initial screen layout consists of two windows:
• The Message Window displays output from ada.probe. In addition, dialog between the executable and user can be held in this window. (See Dialog.)
• The Menu Window displays the list of available commands. Each choice is either a command or a submenu that groups related commands.
Dialog
Dialog which is not redirected by the -i -o and -e options is controlled by either the -c or -m option. If neither option is specified, the default depends on whether or not ada.probe is running within the X Window System. Within the X Window System, dialog is held in the X window from which ada.probe was invoked; otherwise dialog is held in the Message Window of the ada.probe screen.
Commands
Commands are selected from the Menu Window or by entering user programmable key bindings. Command parameters, if required, are entered in pop-up windows. Within the permanent Menu Window the following commands are available:
Break Submenu of breakpoint management commands.
Exec Submenu of execution control commands.
Object Submenu of object manipulation commands.
Progress Submenu of progression facility commands.
Quit Exit ada.probe.
Regs Display register values.
Units Submenu of unit manipulation commands.
Help Obtain help on the various ada.probe commands.
Xtra Submenu of advanced and miscellaneous facilities.
For the syntax and semantics of these commands and associated submenu commands, refer to the Ada Tools Manual or use the available on-line help facility.
If the file .ada.proberc exists in the user’s home directory, its commands are executed before the first prompt is issued.
Environment Variables
The environment variable ADA_PATH is associated with all components of the Ada compilation system. It must be set properly and exported before any component of the Ada compilation system (including ada.probe) can be used (see ada(1), Environment Variables).
Locks
To ensure the integrity of their internal data structures, Ada libraries and families are locked for the duration of operations that are performed on them. Normally Ada families are locked only briefly when libraries within them are manipulated. However, sometimes multiple Ada libraries must be locked for longer periods during a single operation. If more than one library must be locked for a single operation, at most one library is locked for updating and all other locked libraries are locked for read-only.
An Ada family or library locked for updating cannot be accessed in any way by any part of the Ada compilation system except by the part which holds the lock. An Ada family or library locked for reading can be accessed by any part of the Ada compilation system for read-only purposes.
If ada.probe cannot obtain a lock after a suitable number of retries, it displays an informational message and terminates.
Under some circumstances, an Ada family or Ada library might be locked, but the locking program(s) might have terminated (for example, due to system crash or network failure). If you determine that the Ada family or Ada library is locked but should not be locked, you can remove the lock.
Use ada.unlock(1) to unlock an Ada library and ada.funlock(1) to unlock an Ada family. However, unlocking should be done with care. If an Ada family or Ada library is actually locked by a tool, unlocking it permits access by other tools that might find the contents invalid or might damage the Ada family or Ada library.
WARNINGS
Ada.probe is capable of limited debugging of optimized code. Certain commands may give misleading or unexpected results. For example, object values may be stored in registers; therefore the value displayed from memory may be incorrect. For this reason, the ability to examine or modify objects and expressions may be impaired. Dead code elimination, code motion, or inlining may affect single step execution or prevent breakpoints from being set on specific source lines.
A user cannot debug a program while the executable is already being debugged or executed. Attempting to start a debugging session on an executable that is already in use will cause a WRITE_MEMORY error. If another user starts running an executable that is currently being debugged, there may be some interesting interactions.
AUTHOR
Ada.probe was developed by HP and Alsys.
FILES
$HOME/.ada.proberc User start up commands.
$ADA_PATH/adahostcap Ada host system capability checker.
$ADA_PATH/ada.probe Ada debugger command.
$ADA_PATH/ada.probe.bin Ada debugger subprocess.
$ADA_PATH/upi/ada.probe.kb
Ada debugger key binding data.
$ADA_PATH/upi/tcf Ada debugger terminal configuration data.
$ADA_PATH/upi/*.btl Ada debugger command tables.
$ADA_PATH/upi/*.hix Ada debugger help command index.
$ADA_PATH/upi/*.hlp Ada debugger help command data.
$ADA_PATH/upi/*.snf Ada debugger font files.
SEE ALSO
ada(1), ada.fmgr(1), ada.format(1), ada.funlock(1), ada.lmgr(1), ada.lsfam(1), ada.lslib(1), ada.make(1), ada.mkfam(1), ada.mklib(1), ada.mvfam(1), ada.mvlib(1), ada.protect(1), ada.rmfam(1), ada.rmlib(1), ada.umgr(1), ada.unlock(1), ada.xref(1),
Ada User’s Guide (Series 300),
Ada Tools Manual (Series 300),
Using the X Window System.
EXTERNAL INFLUENCES
International Code Set Support
Single-byte character code sets are supported within file names.
Hewlett-Packard Company — HP-UX Release 7.0: Sept 1989