Debugging GDB中附加流程的ASLR

Debugging GDB中附加流程的ASLR,debugging,gdb,aslr,Debugging,Gdb,Aslr,我在Linux上工作。特别是在开始时,我想指出,我知道ASLR是为操作系统而不是每个进程启用的。然而,我还注意到,对于使用ASLR的流程,它需要编译为PIE。我使用gdb服务器连接到一个进程,如下所示: gdbserver——附加192.168.1.2:123 5124然后从gdb multiarch中的另一台计算机,我通过键入gdbtarget remote 192.168.1.1:123像标准方式一样附加到该过程,我的问题是,这是否禁用ASLR?我发现很多参考资料都说,当我运行这样的应用程序

我在Linux上工作。特别是在开始时,我想指出,我知道ASLR是为操作系统而不是每个进程启用的。然而,我还注意到,对于使用ASLR的流程,它需要编译为PIE。我使用gdb服务器连接到一个进程,如下所示:
gdbserver——附加192.168.1.2:123 5124
然后从gdb multiarch中的另一台计算机,我通过键入gdb
target remote 192.168.1.1:123
像标准方式一样附加到该过程,我的问题是,这是否禁用ASLR?我发现很多参考资料都说,当我运行这样的应用程序时,
gdb-tui--args./my prog
这将禁用ASLR,要启用它,我需要
将disable randomization设置为off
以启用ASLR,然而,它并没有说明我目前的运行方式。然而,在查看时,地址似乎保持不变。这是否也会影响gdb中
info proc映射的输出?我发现了这一点,其中提到要检查是否启用了ASLR,只需简单地运行应用程序几次,然后列出映射并查看地址是否更改。然而,这似乎有潜在的矛盾。如果您附加了一个进程,那么该进程已经启动,因此gdb不能再禁用ASLR。