2016-09-16 8 views
1

スクリプトがクラッシュし、デバッガがエラーをキャッチできません。私もいくつかの機能をキャッチしようとしましたが、それは仕事をしませんでした。ノードjsスクリプトがクラッシュする:終了コード139(シグナル11:SIGSEGVによって中断された)で処理が終了しました

問題が発生する可能性のある箇所を絞り込む方法を教えてください。

このスクリプトはゲームのテストスクリプトです。これは以前のゲームには効果的ですが、新しいゲームでは新しいケースがいくつかあります。残念ながら、どこにエラーがあるのか​​わかりません。おそらく、サーバーからユニークなケースオブジェクトが受信されたときです。

スクリプトはサーバーに対してテストし、コンソールまたはファイルに出力を書き込みます。どちらの場合もエラーが発生します。

エラー:Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

編集:ここで

SegfaultHandler出力である:

PID 2645 received SIGSEGV for address: 0x0 0 segfault-handler.node 0x00000001034ae1c8 _ZL16segfault_handleriP9__siginfoPv + 280 1 libsystem_platform.dylib 0x00007fff9364b52a _sigtramp + 26 2 ??? 0x0000000000000010 0x0 + 16 3 node 0x000000010067bbdc _ZN2v88internal23Runtime_GetFrameDetailsEiPPNS0_6ObjectEPNS0_7IsolateE + 2364 4 ??? 0x00000a107710961b 0x0 + 11065833330203 5 ??? 0x00000a107795c134 0x0 + 11065842057524

答えて

3

が終了コード(139)は、セグメンテーションフォルトが発生手段(128 + 11(セグメンテーション違反のために) )。

segfault-handlerモジュールを使用して、セグメンテーションフォールトをデバッグすることができます。あなたはそのようにそれを使用することができます:

var SegfaultHandler = require('segfault-handler'); 

SegfaultHandler.registerHandler("crash.log"); // With no argument, SegfaultHandler will generate a generic log file name 

// Write the cause that causes the segmentation fault here 

あなたは今objdump -dS module.nodeのようなツールを使用してデバッグすることができますスタックトレースが表示されるはずです。

objdumpは、1つ以上のオブジェクトファイルに関する情報を表示します。

+0

obj dumpの使い方を教えてください。 – Tree

+0

できます。スタックトレースはありますか? – gnerkus

+0

スタックトレースを含めるように質問を編集しました。事は私はobjdumpを実行するために何を知っていないですか? – Tree

関連する問題