|
GEOS SDK TechDocs
|
|
help ...
|
imem ...
hwalk
hwalk [<flags>] [<patient>]
Examples:
-
"hwalk"
- display the heap
-
"hwalk -e"
- display the heap and perform error checking
-
"hwalk -r ui"
-
display the heap owned by the ui in reverse order
Print the status of all blocks on the global heap.
-
The <flags> argument is a collection of flags, beginning with `-', from the following set:
-
r
- print heap in reverse order (decreasing order of addresses)
-
p
- print prevPtr and nextPtr as well.
-
e
- do error-checking on the heap.
-
l
- just print out locked blocks
-
f
- fast print-out--this doesn't try to figure out the block type
-
F
- print out only fixed (or pseudo-fixed) resources.
-
c
- Print out only code resources (discardable or fixed non-lmem non-dgroup resources).
-
s
<
num
>
- start at block <num>
-
The patient argument is a patient whose blocks are to be selectively printed (either a name or a core-block's handle ID). The default is to print all the blocks on the heap.
-
The following columns can appear in a listing:
-
HANDLE
- The handle of the block
-
ADDR
- The segment address of the block
-
SIZE
- Size of the block in bytes
-
PREV
- The previous block handle (appears with the p flag)
-
NEXT
- The next block handle (appears with the p flag)
-
FLAGS The following letters appears in the FLAGS column:
-
s
sharable
S
swapable
D
discardable
L
contains local memory heap
d
discarded
(by LMem module: discarded blocks don't appear here)
a
attached (notice given to swat whenever state changes)
-
LOCK
- Number of times the block is locked or n/a if FIXED.
-
OWNER
- The process which owns the block
-
IDLE
- The time since the block has been accessed in minutes:seconds
-
OINFO
- The otherInfo field of the handle (block type dependent)
-
TYPE Type of the block, for example:
-
R#1 (dgroup) Resource number one, named "dgroup"
Geode Internal control block for a geode
WINDOW, GSTATE,
Internal structures of the given type
GSTRING, FONT_BLK, FONT OBJ(write:0)
Object block run by thread write:0
VM(3ef0h)...
VM block from VM file 3ef0h
-
This only prints those handles in memory while `handles' prints all handles used.
-
The handles may be printed with lhwalk and phandle.
See Also: lhwalk,
phandle,
handles,
hgwalk.
iacp
iacp -ac
prints all connections
iacp -l
prints all lists without connections
iacp -d
prints all open documents
iacp <obj>
prints all connections to which <obj> is party
ibrk
Set a breakpoint interactively. At each instruction, you have several options:
-
q
- Quit back to the command level.
-
n
- Go to next instruction (this also happens if you just hit return).
-
p
- Go to previous instruction.
-
P
- Look for a different previous instruction.
-
^D
- Go down a "page" of instructions. The size of the page is controlled by the global variable ibrkPageLen. It defaults to 10.
-
^U
- Go up a "page" of instructions.
-
b
- Set an unconditional breakpoint at the current instruction and go back to command level.
-
a
- Like 'b', but the breakpoint is set for all patients.
-
t
- Like 'b', except the breakpoint is temporary and will be removed the next time the machine stops.
-
B
- Like 'b', but can be followed by a command to execute when the breakpoint is hit.
-
A
- Like 'B', but for all patients.
-
T
- Like 'B', but breakpoint is temporary.
ibrkPageLen
var ibrkPageLen [<number-of-lines>]
Number of instructions to skip when using the ^D and ^U commands of ibrk.
ignerr
ignerr
Examples:
-
"ignerr" ignore error and continue
-
"ignerr MyFunc::done" ignore error and continue at MyFunc::done.
Ignore a fatal error and continue.
-
The address argument is the address of where to continue execution. If not specified then CS:IP is taken from the frame.
-
The stack is patched so that execution can continue in the frame above the fatal error handling routine.
See Also: why,
backtrace.
|
GEOS SDK TechDocs
|
|
help ...
|
imem ...