Python Glossary English

Python 3.4+tracemallocфункция

tracemalloc.get_object_traceback()

трассы и кадры

Возвращает Traceback — где был создан объект, — или None, если его выделение не отслеживалось.

Синтаксис

tracemalloc.get_object_traceback(obj) -> Traceback | None

None приходит не только для объектов, созданных до start(): маленькие кортежи, списки и числа CPython берёт из своих кешей и списков свободных блоков, а такое «выделение» в аллокатор не попадает. Надёжно трассируются свежие крупные объекты (bytes(1000), экземпляры классов). По умолчанию в трассе один кадр — строка создания; вызывающих видно лишь при start(nframe>1).

Примеры

import tracemalloc
tracemalloc.start(5)
def make():
    return bytes(1000)
obj = make()
tb = tracemalloc.get_object_traceback(obj)
print([frame.lineno for frame in tb])  # → [5, 4]
tracemalloc.stop()

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности