As you can see, when a local trace function sets f_lineno, f_lineno
doesn't get updated on subsequent lines. Otherwise it works fine.
$ python tracer_testcase.py
12
12
12
13
14
15
The reference manual (for python 2.6) states the following: "f_lineno is
the current line number of the frame — writing to this from within a
trace function jumps to the given line (only for the bottom-most frame).
A debugger can implement a Jump command (aka Set Next Statement) by
writing to f_lineno.". This is contradictory with the shown results,
because apparently it doesn't always represent the current line number. |