Attaching to PVM/DPVM Tasks

You can attach to a PVM or DPVM task if the task meets the following criteria:

  • The machine architecture on which the task is running is the same as the machine architecture on which TotalView is running.
     
  • The task must be created. (This is indicated when flag 4 is set in the PVM Tasks and Configuration Window.)
     
  • The task must not be a PVM tasker. If flag 400 is clear in the PVM Tasks and Configuration Window, the process is a tasker.
     
  • The executable name must be known. If the executable name is listed as a dash (-), TotalView cannot determine the name of the executable. (This can occur if a task was not created with the pvm_spawn() call.)

To attach to a PVM or DPVM task, complete the following steps:

  1. Select Tools > PVM Tasks command from the TotalView Root Window.

    The PVM Tasks and Configuration Window is displayed, as shown in the figure below. This window displays current information about PVM tasks and hosts--TotalView automatically updates this information as it receives events from PVM.

    Since PVM does not always generate an event that allows TotalView to update this window, you should use the Windows > Update command to ensure that you are seeing the most current information.

    For example, you can attach to the tasks named xep and mtile in the following figure because flag 4 is set. In contrast, you cannot attach to the tvdsvr and - (dash) executables because flag 400 is set.

  2. Dive on a task entry that meets the criteria for attaching to tasks. TotalView attaches to the task.
     
  3. If the task to which you attached has related tasks that can be debugged, TotalView asks if you want to attach to these related tasks. If you answer Yes, TotalView attaches to them. If you answer No, it only attaches to the task you dove on.

After attaching to a task, TotalView looks for attached tasks that are related to the this task; if there are related tasks, TotalView places them in the same control group. If TotalView is already attached to a task you dove on, it simply opens and raises the Process Window for the task.

PVM Tasks and Configuration Window

Reserved Message Tags

TotalView uses PVM message tags in the range 0xDEB0 through 0xDEBF to communicate with PVM daemons and the TotalView Debugger Server. Avoid sending messages that use these reserved tags.

Debugging Dynamic Libraries

If the machines in your PVM debugging session are running different versions of the same operating system, the dynamic libraries can vary from machine to machine. If this is the case, you may see strange stack backtrace results when your program is executing inside a dynamic library. To eliminate this problem, make sure all of the hosts in your PVM configuration are running the same version of the operating system and have the same dynamic libraries installed. As an alternative, you can statically link your programs.

Cleanup of Processes

The pvmgs process registers its task ID in the PVM database. If the pvmgs process is terminated, the pvm_joingroup() routine hangs because PVM does not clean up the database. If this happens, you must terminate and then restart the PVM daemon.

TotalView attempts to clean up the TotalView Debugger Server daemons (tvdsvr), which also act as taskers. If some of these processes do not terminate, you must manually terminate them.

 
 
 
 
support@etnus.com
Copyright © 2001, Etnus, LLC. All rights reserved.
Version 5.0