Dokumentacja dla sys.settrace
mówi, że może raportować wywołania funkcji c lub wbudowanych. Kiedy próbuję następujący program, spodziewam się, aby zobaczyć wydarzenie c_call
, ale nic się nie dzieje:Zestaw sys.settrace w języku Python nie będzie tworzyć zdarzeń c_call
import sys
def tracer(frame, event, arg):
print(frame, event, arg)
return tracer
sys.settrace(tracer)
x = len([1,2,3])
Jakieś pomysły co się dzieje tutaj?
Czy ktoś może zamieścić przykład użycia sys.settrace
, który generuje zdarzenie c_call
?
EDYCJA: Początkowo wypróbowałem to w Pythonie 3.2 i nie dało mi to żadnych zdarzeń. Teraz wypróbowałem to w Pythonie 2.7 i dało mi to dwie call
-s (nie -s). Wciąż dziwne.