マルチスレッド化プログラムのデバッグ

Language Environment® でのもとで新規スレッドを作成するのに POSIX pthread_create を使用する場合は、マルチスレッド化プログラムを Debug Tool で実行することができます。プログラム内に複数のスレッドがある場合、Debug Tool の始動はどのスレッドでも、あるいはすべてのスレッドでもできます。 Debug Tool が複数のスレッドを操作していると、端末またはログ・ファイルの使用で競合が起こる可能性があるため、シングル・スレッドで使用されます。そのため、プログラムが 2 つのスレッド (スレッド A とスレッド B) として実行されていて、スレッド A が Debug Tool を呼び出すと、Debug Tool は要求を受け入れてスレッド A に代わって処理を開始します。この間に、スレッド B が Debug Tool を呼び出すと、スレッド B からの要求は、スレッド A からの要求が完了するまで (例えば、STEP または GO コマンドを発行するまで) 保留されます。その後、Debug Tool は解放され、保留されている呼び出しの受け入れが可能になります。

マルチスレッド化アプリケーションをデバッグする場合の制約事項

このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。