簡體   English   中英

診斷使用ctypes在Python中訪問的Windows DLL中的內存泄漏

[英]Diagnosing memory leak from Windows DLL accessed in Python with ctypes

我已經用Python編寫了一個商業軟件的抽象層,該商業軟件具有用於訪問數據庫后端的API。 該API是通過Windows DLL公開的,而我的庫是用Python編寫的。

我的Python包加載了應用程序提供的必需庫,對其進行了初始化,並在頂部創建了兩個Python API。 有一些低級函數可以簡單地包裝API,並使這些函數可從Python調用,還有一些高級接口可以使與本機API的交互更加有效。

我遇到的問題是,運行使用該庫的守護程序時,似乎存在內存泄漏。 (數百KB / s)我使用了多個Python內存分析工具,並分別測試了每個函數,似乎只有一個函數泄漏,但沒有工具報告該函數執行期間內存已丟失。

在Linux上,我將使用Valgrind來確定供應商的庫是否是罪魁禍首,但是該應用程序僅在Windows上運行。 我如何診斷供應商是否有錯,或者這是我訪問其圖書館的方式?

我最終用C語言編寫了一個沒有動態內存分配的程序來測試該庫。 泄漏確實在我正在調用的函數之一中,而不是Python程序中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM