homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Dynamically control debugging output
Type: enhancement Stage: resolved
Components: Interpreter Core Versions: Python 3.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: serhiy.storchaka Nosy List: bkabrda, ezio.melotti, pitrou, python-dev, serhiy.storchaka, vstinner
Priority: normal Keywords: patch

Created on 2014年12月11日 21:09 by serhiy.storchaka, last changed 2022年04月11日 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
show_alloc_counts.patch serhiy.storchaka, 2015年05月12日 13:49 review
Messages (6)
msg232495 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014年12月11日 21:09
When Python is compiled with some defined macros (e.g. COUNT_ALLOCS) it prints additional debugging output at shutdown. This additional output can cause tests failure (see issue19527). It would be good if Python will silent by default and produce debugging output only if special command line option or environment variable is set.
Debugging output switched by Py_REF_DEBUG is now enabled only when "-X showrefcount" is specified (issue17323).
msg232538 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2014年12月12日 12:29
Also this debug output should be printed on stderr, not stdout.
msg232539 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2014年12月12日 12:30
> Debugging output switched by Py_REF_DEBUG is now enabled only when "-X showrefcount" is specified (issue17323).
Yes, I like the idea of doing that for other debug options.
msg232553 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014年12月12日 14:56
Here is (conceivably incomplete) list of debugging and tracing output (but not 
error reporting) from C code.
Controlled output.
Import and shutdown details -- controlled by the -v flag.
Parser tracing -- controlled by the -d flag.
If Py_REF_DEBUG is defined -- controlled by the -X showrefcount flag.
If PYMALLOC_DEBUG is defined -- controlled by the PYTHONMALLOCSTATS environment 
variable.
If Py_TRACE_REFS is defined -- controlled by the PYTHONDUMPREFS environment 
variable.
Garbage collecting details -- controlled by gc.set_debug().
If LLTRACE is defined -- controlled by the __ltrace__ global variable.
Uncomtrolled output.
To stderr:
In PyType_ClearCache (Objects/typeobject.c) if MCACHE_STATS is defined.
Lists allocations if SHOW_ALLOC_COUNT is defined.
Tuples allocations if SHOW_TRACK_COUNT is defined.
Interned strings statistics if __INSURE__ is defined.
In Python/ceval.c if WITH_TSC is defined.
In _PyHash_Fini if Py_HASH_STATS is defined.
To stdout:
In Modules/_ctypes/malloc_closure.c if MALLOC_CLOSURE_DEBUG is defined.
Regex matching trace in Modules/_sre.c if VERBOSE is defined.
Statistics in Modules/hashtable.c if Py_DEBUG is defined.
Allocation counts if COUNT_ALLOCS is defined.
There is also dead code in Parser/parsetok.c, Parser/tokenizer.c, 
Python/pyarena.c, Python/compile.c, Python/formatter_unicode.c, 
Modules/_elementtree.c, Modules/_tkinter.c, Objects/unicodeobject.c.
msg242968 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015年05月12日 13:49
Proposed patch adds the "-X showalloccount" option, that turn on the output of allocated objects counts if COUNT_ALLOCS, SHOW_ALLOC_COUNT, or SHOW_TRACK_COUNT are defined. The output of COUNT_ALLOCS is now written to stderr.
msg269771 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016年07月03日 18:04
New changeset cd911e06bf6c by Serhiy Storchaka in branch 'default':
Issue #23034: The output of a special Python build with defined COUNT_ALLOCS,
https://hg.python.org/cpython/rev/cd911e06bf6c 
History
Date User Action Args
2022年04月11日 14:58:11adminsetgithub: 67223
2016年07月04日 16:29:27serhiy.storchakasetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2016年07月03日 18:04:22python-devsetnosy: + python-dev
messages: + msg269771
2016年06月21日 20:01:54serhiy.storchakasetassignee: serhiy.storchaka
versions: + Python 3.6, - Python 3.5
2015年05月12日 13:49:57serhiy.storchakasetfiles: + show_alloc_counts.patch
keywords: + patch
messages: + msg242968

stage: patch review
2014年12月13日 17:47:36serhiy.storchakalinkissue19527 dependencies
2014年12月12日 14:56:25serhiy.storchakasetmessages: + msg232553
2014年12月12日 12:30:33vstinnersetnosy: + vstinner
messages: + msg232539
2014年12月12日 12:29:32pitrousetnosy: + pitrou
messages: + msg232538
2014年12月11日 21:09:33serhiy.storchakacreate

AltStyle によって変換されたページ (->オリジナル) /