我有一个 Python 应用程序,它会消耗 GB 的数据。为了跟踪我安装的内存使用情况,guppy
并在一个时间单位后打印堆,我在报告中看到以下内容。
Partition of a set of 43325494 objects. Total size = 7524458264 bytes.
Index Count % Size % Cumulative % Kind (class / dict of class)
0 2556102 6 2678794896 36 2678794896 36 dict of cocotb.binary.BinaryValue
...
现在,在我的应用程序的几十个模块中创建了 BinaryValue 类型的对象。要进行调试,我必须获取这些对象的行号/文件名/变量名。那么有什么方法可以获取这些信息吗?如果不是,那么我可以使用什么策略来解决问题的根源?
注意:由于 python 应用程序与 C 程序紧密耦合,因此无法以交互方式运行 python 代码,并且必须直接在代码中检测任何调试步骤。