私はこのソフトウェアをSTM32組み込みシステム用にデバッグしています。機能私のプログラムの一つのブレークポイントのいくつかの並べ替えを打つ保つには:私はinfo breakpoints
を行う際設定されたブレークポイントにかかわらずSIGTRAP。隠されたハードウェアブレークポイント?
SIGTRAP、トレース/ブレークポイントトラップ
ただし、GDBに、私はNo breakpoints or watchpoints
を取得します。ブレークポイントは、かなり前に設定したブレークポイントに実際に対応しています。別のバージョンの実行可能ファイルにあります。私がそのブレークポイントを設定すると、GDBはautomatically using a hardware breakpoint on read-only memory
(または同様のメッセージ)を教えてくれました。
新しいバージョンのソフトウェアをロードしたにもかかわらず、ハードウェアブレークポイントが私のチップに残っていると思います。確かに偽のブレークポイントがある場合は、どうすればそれを見つけて削除できますか?
CPUをリセットします。 :)(hwブレークポイントは、gdbが終了した場合、または終了/再接続時に既存のブレークポイントをすべて削除しない場合は、インストールしたままにすることができます)。 – dbrank0
デバッグレジスタは、いくつかのタイプのリセットにわたって持続する可能性があることに注意してください。フルパワーオンリセットは間違いなくそれをクリアします。 – TJD
「フルパワーオンリセット」とはどういう意味ですか?私は、プラグを抜き/再挑戦しようとしましたが、ブレークポイントは持続します。 – Randomblue