# d command

The d command dumps the D3 core memory
to the UNIX file /usr/tmp/ap.core. The result
of the dump can be examined with the apcrash command.
The d command can be used after an incident
to dump selected elements of the current D3 memory to investigate
the problem.

## Syntax

```
dcommand.string
```
The UNIX file can be dumped to tape using the UNIX utility
(for example, tar cv/usr/tmp/ap.core). The content
of the dump is controlled by the command string, which is composed
of the codes below.

Note: Codes can be separated by commas for
readability. The order of the codes in the command string is not important.

The dump utility is automatically invoked in case of a system
abort (for example, bus errors, segmentation violations, and so on)
before entering the monitor debugger. What is dumped in this case,
is controlled by a default dump string. The valid codes include:

| a | Dumps all. This option is equivalent to the command string "l,g,b,p,r,c,0,f1". |
| --- | --- |
| 0 | Dumps the PCB of the current process. If the PCB is not attached at this point, then no operation is performed. |
| b | Dumps the buffer table. |
| c | Dumps the current process context. All forward and backward frame links currently attached to the process are dumped. |
| f{.}n | Dumps the FID n. If not specified memory, the frame is read from disk. |
| g | Dumps the global space. |
| l | Dumps the local (private) memory, not including the stack. |
| p | Dumps the PIBs. |
| r | Dumps the hardware registers. The registers are dumped in the same order as described in the monitor debugger x command (see x command). |
| s{.}start;[*\|{.}size] | Dumps the main shared memory segment. The start is the offset expressed in bytes, and the size is expressed in kilobytes. If an asterisk is used instead of the size, the entire shared memory segment, starting at the specified offset, is dumped. |
| v{.}n: | Dumps n virtual buffers. |

---
Source: https://d3codex.com/unix/d-command/ - part of the D3Codex reference.
