6

GDB で最初の (そして可能な唯一の) ハードウェア ウォッチポイントを設定した後、watch varnamedelete でそれを削除することはできません。

GDB を終了しただけでも、このウォッチポイントは次の再起動まで有効になっているようです。GDB の再起動後に別のハードウェア ウォッチポイントを設定しようとすると、カーネル メッセージがログに表示され、すべてのハードウェア ウォッチポイントが既に取得されていることが示されます。GDBハードウェアウォッチポイントの設定/ソフトウェアウォッチポイントの設定方法と同じ問題のようですが、ハードウェアウォッチポイントが必要なため、解決策は適用されません。

この (またはすべての) ハードウェア ウォッチポイントを削除するためのツールまたは syscall はありますか? CPU はCore i5で、Linux カーネルはUbuntu 11.10 (Oneiric Ocelot) の 3.0.0-17-generic です。

4

2 に答える 2

2

gdb の watch varname を介して最初の (そして唯一可能な) ハードウェア ウォッチポイントを設定した後、delete を介してそれを削除することはできません。

上記のステートメントは誤りです。それが真実であるとあなたが結論付けた理由は何ですか?

この (またはすべての) ハードウェア ウォッチポイントを削除するためのツールまたは syscall はありますか?

そのようなツールは必要ありません。GDB を終了するだけで、すべてのブレークポイントとウォッチポイントがなくなります。または(gdb) delete(ブレークポイントを指定せずに)実行し、すべて削除することを確認します。

于 2012-05-06T23:37:55.633 に答える