ylab color categoryorder python bash perl debugging trace

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?



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.