|
如果你的程序并没有崩溃,而是说程序的行为与你的预期表现的不一致,那么你可以尝试在一些可能出错的地方加入print()函数。如果你打算采用这种方案的话,那么还有些相关的技巧值得探究。首先,函数traceback.print_stack()能够在被执行时立即打印出程序中栈的跟踪信息。例如:- >>> def sample(n):
- ... if n > 0:
- ... sample(n-1)
- ... else:
- ... traceback.print_stack(file=sys.stderr)
- ...
- >>> sample(5)
- File "<stdin>", line 1, in <module>
- File "<stdin>", line 3, in sample
- File "<stdin>", line 3, in sample
- File "<stdin>", line 3, in sample
- File "<stdin>", line 3, in sample
- File "<stdin>", line 3, in sample
- File "<stdin>", line 5, in sample
- >>>
复制代码 |
|