デフォルトでは、 GDBはユーザ・プログラムの実行コードを持つファイル (あるいは、 コア・ファイル) を書き込み不可の状態でオープンします。 これにより、 マシン・コードを誤って変更してしまうことを防ぐことができます。 しかし、 ユーザ・プログラムのバイナリに意図的にパッチを適用することもできなくなってしまいます。
バイナリにパッチを適用したいのであれば、
set write
コマンドによって明示的にそのことを指定することができます。
例えば、
内部的なデバッグ・フラグを立てたり、
緊急の修正を行いたいということがあるでしょう。
set write on
set write off
既にファイルをロード済みの場合、
set write
の設定を変更後、
その変更を反映させるためには、
(exec-file
コマンド
、
core-file
コマンド
を使用して)、
そのファイルを再ロードしなければなりません。
show write