im在尝试使用kgdb调试时更改Linux内核的内存。我该怎么办?
我已经使用运行Mint的调试器计算机和在虚拟盒子中运行的ubuntu计算机建立了kgdb连接。使用虚拟串行连接与gdb连接后,我试图在内核符号之一的地址中更改内存的内容,但gdb表示无法访问此内存。 打印地址可以正常工作,所以插入断点也可以(这表明gdb确实在其中修改了代码?),所以我无法理解为什么即时通讯无法更改内存。 我试图使用gdb的“调用”功能以便在相关地址上使用set_memory_rw,但是gdb返回的Target返回了错误代码“ 22”。 我试图手动设置rip以执行功能,但是当我尝试使用set $ rsp时,无论我做什么,我都无法更改堆栈指针。 我用所有适当的调试选项编译了内核。