2012-04-28 12 views
0

に私は、OpenMP(pthreadsの)領域から来セグメンテーションフォールトていると私は非常に助けにならない取得:?? OpenMPのバックトレース

/usr/src/packages/BUILD/glibc-2.11.1/string/wordcopy.c:85 
/usr/src/packages/BUILD/glibc-2.11.1/string/./memmove.c:73 
??:0 
??:0 
??:0 
/usr/src/packages/BUILD/glibc-2.11.1/nptl/pthread_create.c:301 

pthreadのコンテキスト内で実際のバックトレースを取得する方法は?

答えて

2

OPでは言及されていませんが、gcc/g ++を使用してコードを作成していると仮定します。その後、

コードが-gでコンパイルされている場合は、 あなたはコアデバッグするときにgdbプロンプトで次のコマンドを使用してみてください:

thread apply all bt full 

をそれがコードでスレッドを作成し、各ユーザーのすべてのスタックトレースを表示します。

+0

"コードが-gでコンパイルされている場合" - コードが '-g'でコンパイルされていない場合でもうまく動作します。 –

+0

@EmployedRussian - そうです。彼はまだこのオプションが彼のデバッグに役立つだけなので、OPを指すために "-g"と言いました。 – goldenmean