[issue29400] Instruction level tracing via sys.settrace
STINNER Victor
report at bugs.python.org
Wed Feb 1 17:37:31 EST 2017
STINNER Victor added the comment:
> I do not agree, Python debuggers are already really really slow. They should not have to process 'instruction' trace events as this would happen if George does "Remove the `else` to always trace with PyTrace_INSTRUCTION, rather than as an alternate to PyTrace_LINE as it does now".
Hum, there are two things:
* attached patch adds an else to the C maybe_call_line_trace(): I don't think that it's possible to notice the overhead in a debugger implemented in pure Python. If you are concerned by the change, we need a micro-benchmark.
* existing debuggers may have to be extended to support PyTrace_INSTRUCTION and so may be slowed down. Maybe I misunderstood what you wrote? For me, it's an opt-in feature: you must call sys.settraceinstr() instead of sys.settrace(), otherwise you don't get PyTrace_INSTRUCTION events. From the user point of view, I expect that the debugger starts at LINE level, but only switch to instruction level when I explicitly ask it to do so.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue29400>
_______________________________________
More information about the Python-bugs-list
mailing list