用ctypes诊断Python访问的windowsdll内存泄漏

2024-06-25 05:54:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python为一个商业软件编写了一个抽象层,它有一个API用于访问数据库后端。API是通过windowsdll公开的,我的库是用Python编写的。在

我的Python包加载应用程序提供的必要库,对它们进行初始化,并在顶部创建两个pythonapi。有一些低级函数只包装API,并使函数可以从Python调用,还有一个更高级别的接口,使与本机API的交互更加高效。在

我遇到的问题是,当运行使用库的守护进程时,似乎存在内存泄漏。(几百KB/s)我使用了几个Python内存分析工具,并分别测试了每个函数,似乎只有一个函数泄漏,但没有工具报告在执行该函数期间内存丢失。在

在Linux上,我会使用Valgrind来判断供应商的库是否是罪魁祸首,但该应用程序只在Windows上运行。我如何诊断供应商是否有过错,或者我访问他们库的方式是否正确?在


Tags: 工具函数内存api数据库应用程序pythonapikb