我在AIX上使用dbx附加到正在运行的进程。程序中有一个错误,下面的操作码中的偏移量是0x9b8,但应该是0xbe8:
(dbx)listi 0x100001b14 0x100001b14(.......... + 0x34)e88109b8 ld r4,0x9b8(r1)
我可以使用以下命令解决这个问题:
(dbx)赋值0x100001b14 = 0xe8810be8
但这仅影响正在运行的进程及其内存。如何更改磁盘二进制文件?我无法在二进制文件中找到模式e88109b8, 否则我会使用例如用于修补它的dd实用程序。
祝你好运, 帕维尔菲利宾斯基