私はこれに対する答えを知っています、私は他の人がそれを見ることができるようにそれをここに置いています
eclipse CDTを使用している場合、eclipseはデバッガーではなく、特にGDBに対する単なるアプリケーションフロントエンドであることをご存知でしょう。したがって、C ++プログラムをデバッグするときは、実際にはGDBをより快適な方法で使用しているだけです。Eclipse CDTでマルチスレッドプログラムをデバッグする必要がある場合、ブレークポイントに到達するとすべてのスレッドが停止し、特定のスレッドで1行を実行しようとすると、それも実行されるため、物事がすぐに忙しくなることに気付くでしょう。他のスレッド。正しく機能するためには、スレッドを任意に排他的に実行できる必要があります。そのため、プログラマーが1行を実行すると、特定のスレッドのみが実行されます。
そのため、デフォルトでは、gdbの設定はデフォルトで「スケジューラーロック」をオフのままにします。マルチスレッドアプリケーションをデバッグする場合、目的の動作を実現するには、これがGDBでオンになっている必要があることを理解できます。このコマンドを実行するにはどうすればよいですか。
set scheduler-locking on
Eclipse CDT内のGDBで?