私は現在デバッガーを研究しています。デバッガーにはソフトウェアブレークポイントがあることを読みました(明らかに、これらは最も一般的に使用されるブレークポイントです)。これらは、オペコードの最初のバイトをInt 3(opcode 0xcc)に置き換えることで機能します。
プログラムのテキスト(/ code)セグメントが読み取り専用であることを読みました(このセグメントを読み取る必要がない場合は、コードを停止して独自の命令を変更し、コードを自己変更します)。私の質問は、読み取り専用の場合、デバッガーが命令をどのように変更できるかということです。私はここで何かが欠けていますか?これに関するコメントまたはこれに関する理論へのポインタをいただければ幸いです。
ありがとう。