PDumpCtl

Version: 
0.18
Release date: 
Monday, 29 April, 2019

License:

Interface:

Authors/Port authors:

PDumpCtl is a wrapper for the OS/2 Process Dump Facility. It makes it easy to configure the Dump Facility for the typical situations.

This software is distributed as compressed package. You have to download and manually install it; if prerequisites are required, you will have to manually install them too.

Manual installation

Program is distributed as ZIP package: download to temporary directory and unpack to destination folder. See below for download link(s).

Following links are to additional programs, not mandatory but useful:

Following ones are the download links for manual installation:

PDumpCtl v. 0.18 (8/6/2021, Steven Levine) Readme/What's new
PDumpCtl v0.18 User Guide 2023-06-08 SHL PDumpCtl is a wrapper for the OS/2 Process Dump Facility. It makes it easy to configure the the Dump Facility for the typical situations. This package includes two versions of the tool. PDumpCtl.cmd is written in REXX. PDumpCtl4.cmd is written for 4OS2. PDumpCtl4.cmd is no longer maintained and is deprecated. However, it may be useful if REXX support is not available on the system where you need to capture a process dump file. PDumpCtl4 supports most, but not all, of the options supported by PDumpCtl. Note: v0.18 (this version) of PDumpCtl makes significant changes to the Shared and Extended dump styles. In most cases, the Shared style can now be used instead of the Extended style. The dump file will be smaller while still containing the shared memory data needed to analyze traps in DLLs. == Installation == 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 of the options selected, dump files can be anywhere from 1MB to 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. PROCDUMP.EXE and PDUMPUSR.EXE must be installed. They are typically installed to \OS2\SYSTEM on your boot volume. If they were not installed when ArcaOS/eCS/OS2 was installed, copy them from the installation CD. For ArcaOS and eComStation, copy PROCDUMP.EXE and PDUMPUSR.EXE from the \OS2IMAGE\FI\SYSMGT\OS2\SYSTEM directory on the install media to \OS2\SYSTEM on the boot volume. Copy PROCDUMP.DOC from the OS2IMAGE\FI\SYSMGT\OS2\SYSTEM\RAS directory on on the install media to \OS2\SYSTEM\RAS on the boot volume. If you are using PDumpCtl4.cmd, you need to have 4OS2 installed on the system, but it does not need to be the default shell. == Usage == To see the available options, use PDumpCtl -? which will display pdumpctl 0.18 2023-06-08 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 for hex or 0t for decimal if ambiguous procname Select process to dump Quote if process 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 Full - add private/instance code and data to current settings i 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 Shared - add private/instance/shared code and data to current v View dump settings x Extended - add private/shared code/data mvdm sysio syspg to current The force dump command requires that at least one PID or process name be specified. Other commands do not require this. The command line can include a combination of - zero or more command line switches - zero or more batch mode commands - zero or more pid numbers - zero or more process names - a directory name Command line switches must appear first. The other command line arguments can be entered in any order. PDumpCtl will try to figure out what you mean. PDumpCtl assumes you want what you request. For example, if a command line argument names a valid directory, it will be interpreted as the dump directory name even if it could also be interpreted as a process name. For example, if you want to run PDumpCtl for the pmmail process and you invoke PDumpCtl as PDumpCtl -i pmmail and pmmail also happens to be a subdirectory of the current directory, PDumpCtl will select the pmmail subdirectory as the dump directory. If this is not what you want, run PDumpCtl from some other directory or name the dump directory you want PDumpCtl to use. For example: PDumpCtl -i \Dumps pmmail What the Process Dump Facility calls the process name is really the internal module name. In most cases, the process name is the same as executable name. If not, be sure to provide the module name and not the executable name. Batch mode commands must be entered in the order you want them executed. PDumpCtl operates in two modes - batch or interactive. In batch mode, PDumpCtl processes the batch mode commands on the command line and exits. In interactive mode, PDumpCtl processes any batch mode commands on the command line and then prompts the user for additional commands. When PDumpCtl starts, it does not change the Dump Facility settings unless requested. This means that if the Dump Facility is not enabled when you start PDumpCtl, you must issue one of the commands from that enables the Dump Facility otherwise any attempt to capture a dump file will fail. The same is true when PDumpCtl exits. The current Dump Facility settings are retained. This is useful when you need to wait for a trap to occur. If this is not what you want, issue a command that turns off the Dump Facility before PDumpCtl exits. As noted above, commands are processed in the order given. This is true in both batch and interactive mode. This means if the current Dump Facility settings are not what you need, you must adjust the settings before attempting to capture a dump file. If also means that if the dump facility is not currently enabled, you need to enable the dump facility before you can capture a dump file. There are two groups of commands that affect the Dump Facility settings. The Reset group enables the dump facility, clears any existing settings and sets the Dump Facility to a known state. The Add group adds settings to the current state. If you issue an Add group command when the Dump Facility is not enabled, PDumpCtl will set the dump state to Normal before processing the Add group command. If you attempt to capture a dump file when the Dump Facility is not enabled PDumpCtl will complain. PDumpCtl defines a number of Dump Styles. A Dump Style is a collection of Process Dump facility settings that have been shown to be broadly useful. See the "Choosing a Dump Style" section which discusses the available Dump Styles in more detail. See the Examples section for typical PDumpCtl command lines. In interactive mode, PDumpCtl prompts for commands with D)ump N)orm. I)nst. F)ull S)hare X)tend. A)ll R)eset O)ff V)iew H)elp Q)uit ? h where the available commands are D - Force dump using current settings N - Reset to Normal - set to summ,sem,sysldr,sysfs,sysvm,syssem I - Instance - add instance data to current settings F - Full - add private code and data to current settings S - Shared - add private/instance/shared code and data to current X - Extended - add private/shared code/data mdvm sysio and syspg to current A - Reset to All - set to dump all physical memory R - Reset to Default - set to system default settings O - Turn off dump facility V - View current settings H - Display this screen Q - Quit ? - Display this screen ! - Shell The commands available in interactive mode are a superset of the batch mode commands. The commands available in both modes function the same in either mode. Recall that when PDumpCtl exits, the current Dump Facility settings are retained. If this is not what you want, use the O command to turn off the Dump Facility before quitting PDumpCtl. As discussed above, the same is true when PDumpCtl starts. PDumpCtl does not change the Dump Facility settings unless requested. If the current settings are not what you need, you must change the settings before capturing the dump file. The View command displays the current settings as defined by the Process Dump Facility. PDumpCtl.cmd contains short explanations of these settings. \OS2\SYSTEM\RAS\PROCDUMP.DOC contains full explanations of these settings. If you are using PDumpCtl4.cmd, usage is the same. If 4OS2 is not your default shell, start PDumpCtl4.cmd with the command 4OS2 /c PDumpCtl4 If 4OS2 or PDumpCtl4.cmd are not in the PATH, you will need to supply full path names. Once you have a dump file, you can view it with the Process Dump Facility (pmdf). If you need help getting started with pmdf, see http://www.warpcave.com/os2diags/ProcDumpRef.txt == Choosing a Dump Style == PDumpCtl defines the following Process Dump styles Default Normal Instance Full Shared Extended All The styles differ in how much data is captured. The Default style produces the smallest dump file and the All style produces the largest. The Default style selects the process dump settings defined by the kernel or by the PDUMPUSR command in config.sys. Unless overridden by a PDUMPUSR command in config.sys, this style is equivalent to PDUMPUSR SUMM,MVDM,SEM,SYSFS which typically result in a dump file of 1MB or so. This style is not recommended because it omits data often required to effectively analyze application failures. The Normal dump style is equivalent to PDUMPUSR SUMM,SEM,SYSLDR,SYSFS,SYSVM,SYSSEM which typically results in a dump file of 3MB or so. This is the recommended dump style for simple application traps. It should be used, unless it is already known that additional data will be needed to effectively analyze the failure. The dump file is relatively small, but includes the system wide data that is almost always needed to analyze application failures. This is a good choice if you want to capture a dump file for all process exceptions. The dump files are small enough not to fill up the disk volume too quickly, but contains enough data to do useful analysis for a wide variety of process failures. The Instance dump style is equivalent to PDUMPUSR SUMM,INSTANCE,SEM,SYSLDR,SYSFS,SYSVM,SYSSEM which is the Normal style with INSTANCE data added. This typically results in a dump file of 3MB plus the size of the process's instance data. This style is a good choice if the Normal style does not include all the private data you need to analyze, but the stack traces are good enough that you don't need to have all the executable code and data included in the dump file. The Full dump style is usually equivalent to PDUMPUSR SUMM,PRIVATE,INSTANCE,SEM,SYSLDR,SYSFS,SYSVM,SYSSEM which is the Normal style with PRIVATE and INSTANCE data added. These settings can result in a relatively large dump file because the dump file will include all of the process's private code and data. Depending on the application the dump file can be 100MB or larger. This dump style is useful when the private executable code and data needs to be be analyzed and the Instance style does not include enough to the application code and data. The Shared dump style is usually equivalent to PDUMPUSR SUMM,PRIVATE,SHARED,INSTANCE,SEM,SYSLDR,SYSFS,SYSVM,SYSSEM which is the Full style with SHARED code and data added. These settings can generate a significantly larger dump file than the Full style because the dump file will also include all of the process's shared code and data. Depending on the application the dump files can be 100MB or larger. This dump style is required when the content of the code and data in shared memory needs to be analyzed and and the Full style does not include enough to the needed code and data. This occurs most often when the exception occurs in a DLL. The Extended dump style is usually equivalent to PDUMPUSR SUMM,PRIVATE,SHARED,INSTANCE,MVDM,SEM,SYSLDR,SYSFS,SYSVM, SYSSEM,SYSIO,SYSPG which is the Shared style with MVDM SYSPG and SYSPG data added. These settings will generate a larger dump file than the Shared style because the dump file will inlcude page tables and system IO tables. This specialized dump style is required when the content of the page tables needs to be analyzed. The All dump style is equivalent to PDUMPUSR PADDR(ALL) This is effectively the same a writing a system dump, but the system is not rebooted after the dump file is written. The dump file will be large since all physical memory will be written to the dump file. This specialize dump style is rarely used. In rare cases, attempting to capture a Full or Extended dump results in sufficient paging activity to hang the Process Dump Facility. The solution is to capture an All style dump which does not require any paging. If you are not sure which dump style you should use, ask a developer for guidance. == Examples == To capture of process dump for a running httpd process that has hung: PDumpCtl n s d o httpd This command line resets the Dump facility to the Normal style, updates the settings to the Shared style, forces a dump of the httpd process, turns off the Dump Facility and exits. To capture a process dump for firefox.exe when it traps: PDumpCtl n s firefox This command line resets the Dump facility to the Normal style, updates the settings to the Shared style and exits. After the dump file has been captured, you would typically do: PDumpCtl r o which resets the Dump Facility to the Default style and and turns off the Dump Facility. This will avoid capturing dump files that you don't need. To run PDumpCtl in interactive mode: PDumpCtl -i which starts PDumpCtl in interactive mode and prompts for commands. Any changes to the Process Dump Facility settings will apply to all processes. To run PDumpCtl in interactive mode for the firefox process: PDumpCtl -i firefox which starts PDumpCtl in interactive mode, selects the firefox process and prompts for commands. Any changes to the Process Dump settings will apply only to firefox process. == Proliant Servers == On some Proliant servers, some dump styles will cause the Process Dump Facility to hang or trap because these dump styles normally add SYSVM to the dump options. To avoid this, use the -p option when starting PDumpCtl. == Known Issues == None, as of today. Good luck, Steven
 www.warpcave.com/betas/PDumpCtl-0.18-20230608.zip
Record updated last time on: 16/06/2023 - 05:47

Translate to...

Add new comment