C++ 节点FFI回调。内存泄漏

C++ 节点FFI回调。内存泄漏,c++,node.js,memory-leaks,ffi,node-ffi,C++,Node.js,Memory Leaks,Ffi,Node Ffi,我们有一个DLL,可以从“特定”windows应用程序访问侦听事件。 我已经编写了我的自定义C++包装器,用于在外国DLL和Node JS应用程序之间创建桥梁。 以下是如何构建通信的部分代码: const connectionCallback = ffi.Callback('void', ['string'], (data) => app.eventEmitter.emit(INTERNAL_EVENTS.CONNECTION, data)); const quotesCallback =

我们有一个DLL,可以从“特定”windows应用程序访问侦听事件。 我已经编写了我的自定义C++包装器,用于在外国DLL和Node JS应用程序之间创建桥梁。 以下是如何构建通信的部分代码:

const connectionCallback = ffi.Callback('void', ['string'], (data) => app.eventEmitter.emit(INTERNAL_EVENTS.CONNECTION, data));
const quotesCallback = ffi.Callback('void', ['string'], (data) => app.eventEmitter.emit(INTERNAL_EVENTS.QUOTE, data));
const eventsCallback = ffi.Callback('void', ['string'], (data) => app.eventEmitter.emit(INTERNAL_EVENTS.EVENT, data));
这个问题。 我只用了6h来观察C++代码中的使用内存(当我运行它时没有节点),并且发现了节点内存泄漏。 我对Node也做了同样的操作(我安装了heapdump包,并在很远的距离上比较了快照)。根据快照,在我的应用程序中没有发现内存泄漏

但应用程序的内存使用量在增长。启动时300mb,2小时后500mb,20小时后接近1gb。 你知道我们可以用什么工具来发现漏洞吗

我发现类似的主题没有答案(节点ffi github问题),始于2013年,但我希望解决方案已经存在:)
谢谢。

我相信任何泄露漏洞的分析器都可以帮助(如DeleKER)。我理解,我对C++代码没有任何问题。我用一些数据创建std::string,并将其传递给节点ffi回调。但在回调执行完成后,我的std::string将永远留在内存中。