2013-07-25 7 views
0

У меня есть набор тестов и попытка улучшить его для лучшей способности отладки. Мне нужно получить историю вызова функции, статуса возврата и номера строки, на которой возвращалась функция. Это нужно делать, не изменяя каждую функцию, но в одном общем месте, которое вызывает тестовые процедуры. Я попытался использовать traceback, но он дает только состояние текущего стека. Если я хочу знать историю названных функций, я бы не стал использовать трассировку. Любые указатели действительно могут быть полезны. Спасибо всем.История вызовов функций в Python

Пример:

enter code here 
def a(): 
    print "I am in A" 
    ret = xyz() 
    return ret 

def b(): 
    ret = a() 
    print "I am in B" 
    return ret 

def c(): 
    print "I am in C" 
    return True 

if __name__ == "__main__": 
    val = b(); 
    if val == False: 
    ==> Print History <== 
+1

Что вы подразумеваете под историей? Приведите пример того, что вам нужно. – hivert

+0

Скажем, у меня есть следующий фрагмент кода: Защиту а(): печать "Я в" RET = хуг() возвращения в отставке четкости Ь(): RET = а() печать «Я в B» возврата RET четкости с(): печати "Я в C" возвращающих если __name__ == "__main__": вала = Ь(); if val == False: ==> История печати <== – user2617269

+2

Вы должны отредактировать свой вопрос. Таким образом, это невозможно прочитать. – hivert

ответ

3

Попробуйте trace module. Это позволит вам увидеть, какие функции (и даже какие строки) программы были запущены.

+0

Спасибо, Стю ... Это сработало для меня .. !! – user2617269

Смежные вопросы