Если поставить
import code
code.interact(local=locals())
в вашей программе, тогда вы будете сброшены в интерпретатор Python. (См. Метод, чтобы заглянуть в программу Python, запущенную прямо сейчас )
Это немного отличается от остановки Komodo, но, возможно, вы можете использовать его для достижения той же цели.
Нажатие Ctrl-d выходит из интерпретатора Python и позволяет возобновить работу вашей программы.
Вы можете проверить стек вызовов с помощью модуля трассировки:
import traceback
traceback.extract_stack()
Например, вот декоратор, который печатает стек вызовов:
def print_trace(func):
'''This decorator prints the call stack
'''
def wrapper(*args,**kwargs):
stacks=traceback.extract_stack()
print('\n'.join(
[' '*i+'%s %s:%s'%(text,line_number,filename)
for i,(filename,line_number,function_name,text) in enumerate(stacks)]))
res = func(*args,**kwargs)
return res
return wrapper
Используйте это так:
@print_trace
def f():
pass