mirror of
https://github.com/python/cpython.git
synced 2025-09-28 11:15:17 +00:00
add description of LLTRACE.
This commit is contained in:
parent
50584b4c78
commit
a6255238b2
1 changed files with 18 additions and 6 deletions
|
@ -135,13 +135,13 @@ Py_DEBUG introduced in 1.5
|
||||||
|
|
||||||
This is what is generally meant by "a debug build" of Python.
|
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
|
Py_DEBUG implies LLTRACE, Py_REF_DEBUG, Py_TRACE_REFS, and
|
||||||
WITH_PYMALLOC is enabled). In addition, C assert()s are enabled (via
|
PYMALLOC_DEBUG (if WITH_PYMALLOC is enabled). In addition, C
|
||||||
the C way: by not defining NDEBUG), and some routines do additional
|
assert()s are enabled (via the C way: by not defining NDEBUG), and
|
||||||
sanity checks inside "#ifdef Py_DEBUG" blocks.
|
some routines do additional sanity checks inside "#ifdef Py_DEBUG"
|
||||||
|
blocks.
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
COUNT_ALLOCS introduced in 0.9.9
|
COUNT_ALLOCS introduced in 0.9.9 partly broken in 2.2 and 2.2.1
|
||||||
partly broken in 2.2 and 2.2.1
|
|
||||||
|
|
||||||
Each type object grows three new members:
|
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
|
for which the first allocation of an object of that type occurred
|
||||||
most recently is at the front of the list.
|
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.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue