私はノードアドオンを開発しています。私はセグメンテーションフォールトで奇妙な問題に直面しています。私はJavaScriptの、プログラムが終了からとセグメンテーションフォールトでこのメソッドを呼び出すときノードアドオン奇妙なセグメンテーションフォールト
struct ComputeContext {
int test = 1;
};
NAN_METHOD(MyClass::Foo) {
ComputeContext ctx;
info.GetReturnValue().Set(Nan::New(true));
}
奇妙な事は、次のとおりです。次のようにMyClass.ccでは、私は、構造体とNAN_METHODを宣言しました。ただし、テストを初期化しないとint test;
、segfaultをクラッシュせず報告しません。セグメンテーション違反を検出するために、私はsegfault-handlerパッケージを使用しています。
誰かがここで何が起こっているかについての手がかりを持っているのでしょうか? sidenoteとして、MyClass :: Fooは静的メソッドであり、違いがあるかどうかはわかりません。
これをデバッグしてクラッシュの原因となっている行を確認しましたか? – VTT
残念ながら、私はデバッグのための環境を設定していません。私はソースからv8、libuv、nodeをビルドする必要があると思います。しかし、とにかく、segfaultハンドラは、 'info.GetReturnValue()。Set(Nan :: New(true));'でクラッシュすると言っています。実際、その動作は非常に奇妙です。 – justadudewhohacks
拡張機能をデバッグシンボルでビルドし、デバッガで実行するだけで済みます。 – VTT