summaryrefslogtreecommitdiff
path: root/Doc/c-api
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2018-01-24 12:57:49 +0000
committerXiang Zhang <angwerzx@126.com>2018-01-24 20:57:49 +0800
commit131fd7f96c619bc7eaea956e45c6337175f4b27f (patch)
treec184daaf3c2c5588b6ed4766c2742844f3593859 /Doc/c-api
parent018e1b7aad8d1a33ee14aae5c466d581d31e2369 (diff)
downloadcpython-git-131fd7f96c619bc7eaea956e45c6337175f4b27f.tar.gz
bpo-17799: Explain real behaviour of sys.settrace and sys.setprofile (#4056)
Diffstat (limited to 'Doc/c-api')
-rw-r--r--Doc/c-api/init.rst11
1 files changed, 6 insertions, 5 deletions
diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index 4ee61e8a1c..86faf47f53 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -1300,7 +1300,6 @@ Python-level trace functions in previous versions.
| :const:`PyTrace_C_RETURN` | Function object being called. |
+------------------------------+--------------------------------------+
-
.. c:var:: int PyTrace_CALL
The value of the *what* parameter to a :c:type:`Py_tracefunc` function when a new
@@ -1357,16 +1356,18 @@ Python-level trace functions in previous versions.
function as its first parameter, and may be any Python object, or *NULL*. If
the profile function needs to maintain state, using a different value for *obj*
for each thread provides a convenient and thread-safe place to store it. The
- profile function is called for all monitored events except the line-number
- events.
+ profile function is called for all monitored events except :const:`PyTrace_LINE`
+ and :const:`PyTrace_EXCEPTION`.
.. c:function:: void PyEval_SetTrace(Py_tracefunc func, PyObject *obj)
Set the tracing function to *func*. This is similar to
:c:func:`PyEval_SetProfile`, except the tracing function does receive line-number
- events.
-
+ events and does not receive any event related to C function objects being called. Any
+ trace function registered using :c:func:`PyEval_SetTrace` will not receive
+ :const:`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION` or :const:`PyTrace_C_RETURN`
+ as a value for the *what* parameter.
.. _advanced-debugging: