summaryrefslogtreecommitdiffstats
path: root/Doc/library/sys.rst
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2019-09-20 15:26:27 (GMT)
committerGitHub <noreply@github.com>2019-09-20 15:26:27 (GMT)
commitc410390e89071c4a4c2a437a227c14274add4116 (patch)
tree7cd9fea592888bde43683233ad78360846a9a2ea /Doc/library/sys.rst
parent0ab6b01820afef44beea8158ba08b6469bf264a0 (diff)
downloadcpython-c410390e89071c4a4c2a437a227c14274add4116.zip
cpython-c410390e89071c4a4c2a437a227c14274add4116.tar.gz
cpython-c410390e89071c4a4c2a437a227c14274add4116.tar.bz2
bpo-37937: Mention frame.f_trace in sys.settrace docs (GH-15439)
Mention frame.f_trace in sys.settrace docs, as well as the fact you still need to call `sys.settrace` to enable the tracing machinery before setting `frame.f_trace` will have any effect. (cherry picked from commit 9c2682efc69568e1b42a0c1759489d6f2e3b30ea) Co-authored-by: Ram Rachum <ram@rachum.com>
Diffstat (limited to 'Doc/library/sys.rst')
-rw-r--r--Doc/library/sys.rst11
1 files changed, 11 insertions, 0 deletions
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 975c14c..a698ecb 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -1324,6 +1324,17 @@ always available.
Note that as an exception is propagated down the chain of callers, an
``'exception'`` event is generated at each level.
+ For more fine-grained usage, it's possible to set a trace function by
+ assigning ``frame.f_trace = tracefunc`` explicitly, rather than relying on
+ it being set indirectly via the return value from an already installed
+ trace function. This is also required for activating the trace function on
+ the current frame, which :func:`settrace` doesn't do. Note that in order
+ for this to work, a global tracing function must have been installed
+ with :func:`settrace` in order to enable the runtime tracing machinery,
+ but it doesn't need to be the same tracing function (e.g. it could be a
+ low overhead tracing function that simply returns ``None`` to disable
+ itself immediately on each frame).
+
For more information on code and frame objects, refer to :ref:`types`.
.. audit-event:: sys.settrace "" sys.settrace