Nan :: NewInstance返回一个空对象。什么是调试此问题的好方法

时间:2019-09-30 00:14:43

标签: c++ node.js node.js-addon node.js-nan

我正在帮助PR for node-tree-sitter。这是我第一次使用nodejs C ++绑定。

我遇到一种情况,即使调用了构造函数,对Nan::NanInstance()的调用总是返回一个空对象。

这就是我所拥有的 https://github.com/bdurrani/node-tree-sitter/blob/08c1c3e4a36ed2a44b615292bf7c9894f8b2838c/src/tree.cc#L64

Tree :: NewInstance()获取树指针。 对Nan :: NewInstance()的调用有效。我可以确认Tree :: New()已被调用,并且 通过比较指针值正确传递了它的参数。

但是由于某些原因,Nan::NewInstance()的返回值返回一个空对象。

作为测试,我查看了node-addon-examples并修改了示例以使其遵循 保姆模式 https://github.com/bdurrani/node-addon-examples/blob/f423f0390bd547230f56207bab3db279ea707289/6_object_wrap/nan/one.cc#L16

One::NewInstance()获得指向某些c ++类的指针 调用它的构造函数,这次是Nan::NewInstance()的返回值 返回一个不为空的对象。代码几乎相同。

我以前对节点绑定没有太多的兴趣。任何想法,我将如何调试 NewInstance()返回一个空对象。我没有看到任何错误或发生任何事情。

您可以在以下分支中查看我的更改: https://github.com/bdurrani/node-tree-sitter/tree/node-12-test/src

有人有什么建议吗?我只是想弄清楚如何调试这样的问题。 自Tree::New()返回以来,似乎发生了很多事情,最终我以空对象告终。

0 个答案:

没有答案