2010-05-20 45 views

回答

44

Devel::Trace是Perl的模拟中,trace module是Python的。

+18

对于澄清:'的perl -d:跟踪program.pl'和'蟒-m分别跟踪-t program.py'。 – 2010-05-21 00:51:34

+2

@ Vi。+ 1用于Devel :: Trace的命令行选项。 FWIW:为了能够在Apache的Perl调试的mod_perl请参阅以下链接:http://www.perlmonks.org/ NODE_ID = 412121。还没有尝试过,但它可能会帮助别人。 – GuruM 2012-08-06 14:56:47

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

相关问题