2009-05-13 2 views
1

Скажем, у меня есть следующий метод (в классе или модуле, я не думаю, что это имеет значение):Получение информации PDB-стиль звонящий в питона

def someMethod(): 
    pass 

Я хотел бы получить доступ вызывающего абонента состояние в момент вызова этого метода.

traceback.extract_stack просто дает мне несколько строк о стеке вызовов.

Мне нужно что-то вроде pdb, в котором я могу установить точку останова в someMethod(), а затем ввести «u», чтобы перейти в стек вызовов, а затем проверить состояние системы.

+0

Похоже inspect.currentframe() есть начало, но я не знаю, как его использовать. – 2009-05-13 17:41:25

ответ

1

Я понял это:

import inspect 

def callMe(): 
    tag = '' 
    frame = inspect.currentframe() 
    try: 
     tag = frame.f_back.f_locals['self']._tag 
    finally: 
     del frame 

    return tag