节点FFI回调。内存泄漏

时间:2019-09-05 17:21:51

标签: 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 = 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));

问题。 我花了6个小时只观察C ++代码中的使用内存(当我在没有Node的情况下运行它),并且发现了节点内存泄漏。 我对Node进行了相同的操作(我已经安装了heapdump软件包并比较了很远的快照)。根据快照,我的应用程序未发现内存泄漏。

但是应用程序内存使用量增加。启动时为300mb,2小时后为500mb,而20小时后为1gb。 您是否知道我们可以使用什么工具来发现泄漏?

我找到了相似的主题,没有答案(node-ffi github问题),该主题始于2013年,但我希望解决方案已经存在:) 谢谢。

0 个答案:

没有答案