GDB Python如何实现类似x命令将任意表达式转换为对应内存地址
实现GDB x命令等价的内存地址解析功能
我需要实现和GDB的x(examine)检查命令一致的能力,可从给定值中获取对应内存地址。该功能内部实际调用value_as_address接口,可将任意GDB表达式转换为核心地址,但我在GDB的Python API中没有找到对应的绑定方法,目前已知的替代方案都无法满足需求:
- 类型强转为void指针的方案依赖语言特性,无法适配Rust等不存在void类型的可执行文件,如下代码在Rust场景下会执行失败:
在不存在void类型的场景下(比如Rust程序)上述代码会运行报错。some_Value.cast(gdb.lookup_type('void').pointer()) - 我需要支持整数类型输入,输入的整数应当原样返回。
我最终需要实现一个函数,可接收"0x5555555740a0"、"main"这类字符串输入,输出对应值的整数格式内存地址。
内容的提问来源于stack exchange,提问作者Yet Another User
相关产品推荐
相关产品推荐

