使用Python的3.5 tracemalloc模块,如下
tracemalloc.start(25) # (I also tried PYTHONTRACEMALLOC=25)
snapshot_start = tracemalloc.take_snapshot()
... # my code is running
snapshot_stop = tracemalloc.take_snapshot()
diff = snapshot_stop.compare_to(snapshot_start, 'lineno')
tracemalloc.stop()
导致StatisticDiff实例的列表,其中每个实例都有一个只有1个(最近的(帧的回溯。
有任何提示如何获得每个StatisticDiff实例的完整堆栈跟踪吗?
谢谢!Michael
当调用compare_to()
以获取多行时,需要使用'traceback'
而不是'lineno'
。
顺便说一句,我在这里也详细回答了一个类似的问题。