>>>> "Gunnar" == Gunnar Evermann
<Gunnar.Evermann(a)nats.informatik.uni-hamburg.de> writes:
Gunnar> in FPrin1: (dbx) pobj object
Gunnar> warning: subscript out of range
Gunnar> Unknown Lisp Object type
Gunnar> object = 6067492
This is a sign that a Lisp_Object has been corrupted or was never
initialized. These bugs are very hard to track down. If the bug is
completely reproducible, down to the memory addresses involved, you
can put a debugger watchpoint on the actual memory locations that are
being corrupted, and track it down that way.
This kind of bug has to get resolved, or it will haunt us forever.
Martin
dbx> help event modify
(Solaris 2.x)
This is the general`watchpoint facility. Watchpointing is the ability of dbx
to fire an event note when the value of a variable or expression has changed.
To use watchpoints, use one of:
stop|when|trace modify <addr-exp> [ , <byte-size-exp> ]
<addr-exp> is any expression that can be evaluated to produce an address.
If a symbolic expression is used the size of the region to be watched is
automatically deduced, or you can override that with the `,' syntax.
You can also use non-symbolic, typeless address expressions in which case
the size is mandatory, such as:
stop modify 0x5678, sizeof(Complex)
There are actually two styles of watchpoints in dbx. The older, slower, style
uses automatic single stepping and is invoked using:
stop|when|trace cond <cond-expr>
stop|when|trace change <variable>