1. ホーム
  2. c

[解決済み] GDBを使用してメモリの内容を変更するには?

2023-01-22 03:26:11

質問

メモリにアクセスしたり読み出したりするために、いくつかのコマンドを使うことができることは知っています。

しかし、(GDBでのデバッグ中に)どのように特定の位置のメモリの内容を変更することができますか?

どのように解決するのですか?

最も簡単な方法は、プログラム変数を設定することです ( GDB: 代入 ):

(gdb) l
6       {
7           int i;
8           struct file *f, *ftmp;
9
(gdb) set variable i = 10
(gdb) p i
$1 = 10

あるいは、任意の(書き込み可能な)場所をアドレスで更新すればよいでしょう。

(gdb) set {int}0x83040 = 4

まだまだあります。読む マニュアル .