color - ¿Cómo puedo hacer que Perl y Python impriman cada línea del programa que se está ejecutando?
plotly layout (3)
Devel::DumpTrace
se lanzó en 2011 y tiene más funciones que Devel::Trace
, como la evaluación de valores de variables en la salida de rastreo.
Sé que bash -x script.sh
ejecutará el script imprimiendo cada línea antes de la ejecución real. ¿Cómo hacer que los intérpretes de Perl y Python hagan lo mismo?
Devel::Trace es el análogo de Perl, el módulo de rastreo es de Python.
python -m trace -t main.py
Programa de prueba:
main.py
from a import g
def f(i):
g(i)
for i in range(3):
f(i)
a.py
def g(i):
print i
Salida:
--- modulename: main, funcname: <module>
main.py(1): from a import g
--- modulename: a, funcname: <module>
a.py(1): def g(i):
main.py(2): def f(i):
main.py(4): for i in range(3):
main.py(5): f(i)
--- modulename: main, funcname: f
main.py(3): g(i)
--- modulename: a, funcname: g
a.py(2): print i
0
main.py(4): for i in range(3):
main.py(5): f(i)
--- modulename: main, funcname: f
main.py(3): g(i)
--- modulename: a, funcname: g
a.py(2): print i
1
main.py(4): for i in range(3):
main.py(5): f(i)
--- modulename: main, funcname: f
main.py(3): g(i)
--- modulename: a, funcname: g
a.py(2): print i
2
main.py(4): for i in range(3):
--- modulename: trace, funcname: _unsettrace
trace.py(80): sys.settrace(None)
Probado en Ubuntu 16.10, Python 2.7.12.