我知道我们可以通过C程序或gdb在内存地址获取值.
有什么方法可以通过bash shell或诸如“单行” perl指令之类的东西来获得它吗?
解决方法:
简短答案…否
如果您非常小心,则可以将指令传递到GDB并解释输出.如果您想尝试的话,请看一下洛基的答案.
它是unix进程模型的一部分,一个进程无法在另一个进程内部看到并且无法读取彼此的内存.这是出于安全考虑.有一个特殊的内核API,可用于查看程序.但是此API的客户端很少.我唯一知道的就是GDB.
我怀疑您要实现的目标不是一个好主意,还是可以在不读取程序内存的情况下完成.