我知道bash -x script.sh
将执行脚本打印实际执行之前的每一行。 如何让Perl和Python解释器做同样的事情?如何让Perl和Python打印正在执行的程序的每一行?
39
A
回答
44
Devel::Trace是Perl的模拟中,trace module是Python的。
4
Devel::DumpTrace
发布于2011并且具有比Devel::Trace
更多的功能,如在跟踪输出评估变量值。
2
python -m trace -t main.py
测试程序:
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
输出:
--- 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)
在Ubuntu 16.10,Python 2.7.12上测试。
+0
这对于问题的其他答案似乎是多余的。 – duskwuff 2017-02-11 17:33:04
+0
@duskwuff感谢您的反馈意见。它可以节省点击并发现你需要'-t',并且显示你在一个最小的多文件例子中得到的结果。 – 2017-02-11 17:41:26
相关问题
- 1. 的Perl - 打印下一行
- 2. 的Python:不能打印(执行流程?)
- 3. 如何在执行time.sleep()之前让mpi4py进程完成打印?
- 4. 如何打印csv行的升序Python
- 5. Perl:运行“守护程序”并打印
- 6. Perl的system()如何打印正在运行的命令?
- 7. 如何在每行和每列中添加值并在Perl中打印最后?
- 8. 如何让perl打印命令行中的所有匹配项?
- 9. 如何在Python中打印每一行处理代码?
- 10. Python的删除和打印同一行
- 11. 在当前正在执行的行上面打印行
- 12. Python:“打印”和“输入”在一行
- 13. 如何打印CSV文件的每一行的总和蟒蛇
- 14. 如何让我的arduino打印“循环正在运行.......时间”?
- 15. 打印每行
- 16. 如何在Perl中打印匹配的下一行?
- 17. awk中:打印每一行
- 18. 的Python:打印行
- 19. 如何从perl脚本本身打印出正在运行的perl版本?
- 20. 每行打印一个单词的程序
- 21. 如何在标准的perl中执行远程执行5.10.0
- 22. 的Perl:用圆方程式结果打印文本在一行
- 23. 如何在Perl中打印匹配的行和接下来的三行?
- 24. 如何在python中执行Fortran程序
- 25. 在Perl中打印出独特的行
- 26. 如何让Python在同一行上一次打印一个字符?
- 27. 我如何在安装打印机驱动程序的C#中执行进程?
- 28. 如何在Perl或Python中只打印每三个索引?
- 29. 如何在Perl的DBI填充占位符后打印执行的SQL查询?
- 30. 无法打印Groovy中正在执行的确切行 - GroovyShell?
对于澄清:'的perl -d:跟踪program.pl'和'蟒-m分别跟踪-t program.py'。 – 2010-05-21 00:51:34
@ Vi。+ 1用于Devel :: Trace的命令行选项。 FWIW:为了能够在Apache的Perl调试的mod_perl请参阅以下链接:http://www.perlmonks.org/ NODE_ID = 412121。还没有尝试过,但它可能会帮助别人。 – GuruM 2012-08-06 14:56:47