How to Get a Process Dump

Wikis > How to Get a Process Dump

Like a trap dump, a process dump contains detailed information of the state of the system memory at the time the dump file was produced, but rather than the entire system, a process dump targets only the process which has just trapped and triggered the dump file creation or a specific, running process. As a result, the dump file itself is generally smaller than one from a full system dump.

Preparing the System

The process dump facility is installed with OS/2, though we recommend the use of Steven Levine’s PDumpCtl script to configure and control it. The latest stable version of PDumpCtl may be downloaded from Steven’s ArcaOS and OS/2 Diagnostic Tools and Tips page.

Install the script to any convenient directory. Installing to a directory in the PATH is recommended.

A dump directory is required. If a directory name is specified on the command line, it will be used. Otherwise, PDumpCtl will use the DUMPPROCESS directory from CONFIG.SYS, if it is valid. Otherwise, PDumpCtl tries to locate a usable dump directory as follows. PDumpCtl assumes the directory is named Dumps and looks for this directory in the root of all local volumes and in the %TMP% directory.

If PDumpCtl can not locate a dump directory or the dump directory specified on the command line does not exist, PDumpCtl will complain and quit.

Be sure to place the dump directory on a volume with sufficient free space. Depending upon the options selected, dump files can be anywhere from 1MB to the size of physical RAM and they are not automatically deleted or overwritten. A typical Firefox process dump will be in the 100MB to 200MB range because both private and shared data will be required to analyze the failure.

Any filesystem recognized by OS/2 with enough space for the anticipated dump file may be used. The dump file itself is created as PDUMP.nnn, where nnn begins at 000. (If collecting a series of files, be sure not to fill the available space too soon.)

Using PDumpCtl

To see the available options, use:

PDumpCtl -?

which will display:

Control Process Dump Facility in batch or interactive mode

pdumpctl 0.17 2021-04-21
Control Process Dump Facility in batch or interactive mode.

Usage: pdumpctl [-h] [-i] [-p] [-v] [-?] [commands...] [procname|pid] [dirname]

 -h -?     Display this message
 -i        Run interactive (default is batch mode)
 -p        Enable Proliant mode, disables sysvm to prevent system traps
 -v        Display version number and quit

 pid       Select PID to dump, default radix is hex
           Prefix with 0x or 0t if ambiguous
 procname  Select process to dump
           Quote if name looks like a number
 dirname   Set Dump directory, quote if name looks like a number
           Defaults to ?:\Dumps or %TMP\Dumps
 commands  Batch mode commands
   a       Reset to All - set to dump all physical memory
   d       Force dump - requires PID or process name
   f       Add Full - add private code and data to current settings
   i       Reset to Instance - add Instance data to current settings
   n       Reset to Normal - set to summ,sem,sysldr,sysfs,sysvm,syssem
   o       Turn off dump facility
   r       Reset to Default - set to system default settings
   s       Add Shared - add shared code and data to current settings
   v       View dump settings
   x       Add Extended style - add private/shared code/data to current settings

The force dump command requires that a PID or process name be specified. Other commands to not require this.

More information on using PDumpCtl may be found in its accompanying text file.

Generally, it is sufficient to use the process name, e.g., Lucide, to specify the process to be dumped. Without a name, once enabled, each process which traps should trigger the creation of a dump file.

The staff member assigned to your ticket should provide more specific directions as to which commands to use. In general, the full dump style is advisable, but this recommendation may vary depending upon the process in question. When in doubt, ask in your ticket.

Enabling the Process Dump Facility

The easiest way to do this and set for a full dump style (see above) is:

pdumpctl f x:\Dumps

This enables the process dump facility, sets full dump style, and directs the dump files to be created in the existing directory x:\Dumps. In this configuration, every process which traps should generate a fresh PDUMP.nnn file in x:\Dumps.

To turn off the process dump facility

pdumpctl o

Other examples

To enable full dump style for – and specifically dump only – the Lucide process when it traps (other trapping processes will produce dump files with the previously set dump style(s) which apply to them):

pdumpctl f lucide x:\Dumps

To enable full dump style for – and specifically dump only – the Lucide process immediately (force dump):

pdumpctl f d lucide x:\Dumps

If the process name might look like a PID (process ID), simply quote it. To enable full dump style and specifically dump only the AE process immediately:

pdumpctl f d "ae" x:\Dumps

Be sure to turn off the process dump facility when done (see above).

Sending the Process Dump to Support

Please see: How to Upload a Dump File.

This document is excerpted in part from Steven Levine’s document PDumpCtl.txt.

This entry last updated: by Lewis Rosenthal