Linux gdb在另一个进程的上下文中运行?

Linux gdb在另一个进程的上下文中运行?,linux,debugging,gdb,Linux,Debugging,Gdb,我只是想了解gdb(或任何其他调试器)如何修改另一个进程地址空间中的内存 我们有一个正在运行的进程,我们附加到它 附加pid 从这里开始,我们可以修改“附加进程”地址空间中的内存(变量)。这怎么可能。什么是停止任何其他进程(不是调试器)执行相同操作。操作系统是否提供特殊的doors,调试器可以使用它查看/修改不同进程的地址空间 还是我弄错了。附加后,进程是否在调试器的上下文中运行?如果是这样,这种情况下的变化是如何发生的?如果发生这种情况,我能假定这是一份书面副本吗?如果是这样,调试器将使用不同

我只是想了解gdb(或任何其他调试器)如何修改另一个进程地址空间中的内存

我们有一个正在运行的进程,我们附加到它

附加
pid

从这里开始,我们可以修改“附加进程”地址空间中的内存(变量)。这怎么可能。什么是停止任何其他进程(不是调试器)执行相同操作。操作系统是否提供特殊的
doors
,调试器可以使用它查看/修改不同进程的地址空间

还是我弄错了。附加后,进程是否在调试器的上下文中运行?如果是这样,这种情况下的变化是如何发生的?如果发生这种情况,我能假定这是一份书面副本吗?如果是这样,调试器将使用不同的内存处理修改后的数据。但一旦我们修改了gdb中的一些内存并从进程中分离,进程将继续看到修改后的数据。。。。这是否意味着gdb可以访问这个正在运行的进程的地址规范

任何能理解这一点的人都将不胜感激。我可以看看gdb的代码,但是代码太大了,不知道从哪里开始

谢谢。

在Linux上,API是。它需要某些特权,这些特权在手册页中有详细说明

有关如何使用它的教程,请参见