Index | PAL Intro | Commands | Registers | Indices | Stack | Macros | Classes | Attributes | Errors
reg/dump - Dump registers for debugging purposes
Synopsis
Description
Object References
Examples
See Also
Author
reg/dump
reg/dump read <, read ... >
In the first synopsis form, dumps contents of all registers to the debug stream: A, P0 to P15, PCTX, SCMP, SFLG and PERR.
In the second synopsis form, one or more arguments may be supplied, and the command dumps only the named registers.
The reg/dump command displays pointer addresses and data types to the debug stream. If you need to display the contents of those addresses instead, use obj/dump.
If reg/dump is used to dump a register containing an object reference, some additional fields are displayed.
The root field contains the address of the root node, and if the root node is the root of the global nexus it will be marked global otherwise local indicates that this is an imploded tree array. See ps_tree(5).
The nrefs field displays how many open references there are at the moment for the given node. Each time a new object reference for the node is opened or duplicated, this number is incremented. This is used primarily for open reference tracking which guarantees that the memory allocated by a node is not ultimately freed back to system until all internal pointers to it have been discarded.
The flags field displays the settings of the node flags. They are:
d node is marked as deleted, but has not yet been removed because there is an open reference to it or to one of its children. It will be automatically cleaned up when all open references are closed. f node has been "fired", meaning that it has been moved out of the parent nodes branch and into a special containing area allowing for upwards path resolution but the node can no longer be found when walking top down. A node reaches this state if it is deleted when there are open references to it or if the node has any children. It will be automatically cleaned up when all open references are closed. c node is currently being cleaned up, part of the deletion process used to determine if a deleted node and its children has any open references. e node may have deep references, i.e. child branch has been determined to contain node references at some point in its life and therefore this node will be subject to a two-phase delete when it is removed, which involves scanning the hierarchy underneath it and finding and removing all node references before deallocating memory. n deep reference tracking is disabled on this node, which will force a two-phase delete on its child branch when the node is removed regardless of whether or not those child nodes are determined to contain node references. h node has a class hook routine that is used to find virtual child or parent nodes. v this is a virtual node that was created on-demand by a class hook routine. b this node has been determined to have a virtual branch. This is a caching feature and the flag is only set after the branch has been tested for.
reg/dump Dump all registers. reg/dump P0, PEEK, PCTX Dumps register P0, the topmost item on the stack, and the context root.
pal_commands(5), pal_registers(5), ps_tree(5), obj_dump(5),
PROSE Assembly Language at prose.sourceforge.net.
Copyright (c) 2002-2018 Mark R. Bannister <cambridge@users.sourceforge.net>.
This is free software and can be downloaded from prose.sourceforge.net; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
PAL 1.0 | reg_dump (5) | 14 February 2018 |