add description of LLTRACE.

This commit is contained in:
Michael W. Hudson 2002-07-30 09:49:29 +00:00
parent 50584b4c78
commit a6255238b2
1 changed files with 18 additions and 6 deletions

View File

@ -135,13 +135,13 @@ Py_DEBUG introduced in 1.5
This is what is generally meant by "a debug build" of Python.
Py_DEBUG implies Py_REF_DEBUG, Py_TRACE_REFS, and PYMALLOC_DEBUG (if
WITH_PYMALLOC is enabled). In addition, C assert()s are enabled (via
the C way: by not defining NDEBUG), and some routines do additional
sanity checks inside "#ifdef Py_DEBUG" blocks.
Py_DEBUG implies LLTRACE, Py_REF_DEBUG, Py_TRACE_REFS, and
PYMALLOC_DEBUG (if WITH_PYMALLOC is enabled). In addition, C
assert()s are enabled (via the C way: by not defining NDEBUG), and
some routines do additional sanity checks inside "#ifdef Py_DEBUG"
blocks.
---------------------------------------------------------------------------
COUNT_ALLOCS introduced in 0.9.9
partly broken in 2.2 and 2.2.1
COUNT_ALLOCS introduced in 0.9.9 partly broken in 2.2 and 2.2.1
Each type object grows three new members:
@ -186,3 +186,15 @@ sys.getcounts()
for which the first allocation of an object of that type occurred
most recently is at the front of the list.
---------------------------------------------------------------------------
LLTRACE introduced ...? Long time ago!
Compile in support of Low Level TRACE-ing of the man interpreter loop.
When this preprocessor symbol is defined, before eval_frame
(eval_code2 before 2.2) executes a frame's code checks its global
namespace for a variable "__lltrace__". If such a variable is found,
mounds of information about what the interpreter is doing are sprayed
to stdout, such as every opcode and opcode argument and values pushed
onto and popped off the value stack.
Not useful very often, but very useful when needed.