TotalView Online Help : Chapter 1 Root Window : File Menu Commands : File > Attach to a Running Program : Searching for Processes
Searching for Processes
You can search for any process using the search box (). If found, the process will display in the program pane.
In some cases, the name provided to TotalView by your operating system may not be the actual name of the program. In this case, you will not be able to simply select the name and press the OK button. Instead, you should
Determine what its actual name is by using a command such as ls in a shell window.
Select the name as this will fill in much of the program’s name.
Move to the File Name control, and type its actual name, then press the OK button.
If you wish to attach to a multiprocess program, you can either pick up the processes one at a time or you can restart the program under TotalView control so that the processes are automatically picked up as they are forked. In most cases, this requires you to link your program with the dbfork library, discussed “Linking with the dbfork Library” in the TotalView for HPC Reference Guide.
If the process you are attaching to is one member of a collection of related processes created with fork() calls, TotalView asks if you want to also attach to all of its relatives. If you answer yes, TotalView attaches to all the process’s ancestors, descendants, and cousins.
You can control how TotalView attaches to processes by using the commands in the Parallel Page within the File > Preferences dialog box.
NOTE >> If some of the processes in the collection have called exec(), TotalView tries to determine the new executable file for the process. If TotalView appears to read the wrong file, you should start over, compile the program using the dbfork library, and start the program under TotalView control.
State Definitions
The information in this area has the following columns:
Program: The name of the executing program. Notice that TotalView indents some names. This indentation indicates the parent/child relationship within the UNIX process hierarchy.
State: A letter indicating the program’s state, as follows:
Character and Meaning
I (Idle)
Process has been idle or sleeping for more than 20 seconds.
R (Running)
Process is running or can run.
S (Sleeping)
Process has been idle or sleeping for less than 20 seconds.
T (Stopped)
Process is stopped.
Z (Zombie)
Process is a “zombie”; that is, it is a child process that has terminated and is waiting for its parent process to gather its status.
Host: The name of the machine upon which the program is executing.
PID: The operating system program ID.
PPID: The parent program’s ID.
Path: The program’s path on the local machine, that is, the machine where TotalView is running. A process running on a remote host may be executing a program from a directory path valid only on the remote host. TotalView maps the remote path name of the program to a local path name and searches for the program using the File > Search Path > Programs dialog. The remote path name is tried first, but if that search fails, it is retried using only the program name. TotalView makes sure that the local path of the program is compatible with the architecture of the host on which the process is running. For example, if the program name is “/bin/bash,” the local host is Linux-x86_64, and the remote host is Linux-Power, TotalView will not use the local Linux-x86_64 “/bin/bash” because it is not compatible with the remote Linux-Power host. If TotalView cannot find an architecture-compatible program, local path is left empty.
If you attach to multiple processes, TotalView places all of them into the same control group, enabling you to stop and start them as a group.
Attach Options
On the Debug Options tab, two options exist:
Enabling ReplayEngine, which is an option available to all other debugging sessions.
Placing the processes to which you are attaching into a control group under the Attach Options area.
If you have selected a group in previous TotalView sessions and the group exists in the dropdown, it is selected for you. Otherwise, the default is to create a new group to contain all processes attached to in this session.
related topics
Attaching to a Running Program