x86では、GDBは特別なハードウェアリソース(デバッグレジスタ?)を使用してウォッチポイントを設定します。状況によっては、そのリソースが十分にない場合、GDBはウォッチポイントを設定しますが、動作しません。 Linux上でこのリソースの可用性をプログラムで監視する方法はありますか?たぶん、procfsなどの情報があるかもしれません。私はデバッグのためにプール内のマシンを選択するためにこの情報が必要です。 GDBの内部からgdbでウォッチポイントを設定するために必要なリソースを監視する方法は?
: 「彼らはハードウェアリソースに依存するため、ハードウェアブレークポイントの数が制限される場合があり、ユーザーはより多くのを要求する場合、GDBは、ソフトウェアブレークポイントを設定しようとして開始します(いくつかのアーキテクチャでは、特に。 32ビットx86プラットフォームでは、gdbはすべてのハードウェアブレークポイントとウォッチポイントを挿入するのに十分なハードウェアリソースがあるかどうかを常に知ることはできません。 (いくつかのアーキテクチャでは、デバッグされたプログラムが再開されるまで、この状況を検出することは不可能です)。x86デバッグ・レジスタは、hハードウェアブレークポイントをあまりに多く設定すると、ウォッチポイントの挿入が失敗する可能性があります。
"32ビットIntel x86プロセッサには、デバッグを容易にする特別なデバッグレジスタがあります.gdbは、x86ベースのポートがウォッチポイントとハードウェア支援ブレークポイントのサポートを実装するために使用できる汎用ライブラリを提供します。