gpt4 book ai didi

c++ - 将 gdb 显示保存到变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:02:12 25 4
gpt4 key购买 nike

有没有办法将gdb中最后一个命令的输出存储到一个字符串中?我想做的是存储所选机器级指令的地址信息。重定向输出不是解决方案,因为它会产生过多的输出。模拟器也是一种解决方案,但我想看看 gdb 是否可行,因为我只想分析一小段代码。

所以我需要这样的东西:

(gdb) display/i $pc 
(gdb) 1: x/i $pc 0x100000d2e <main+61>: jle 0x100000d02 <main+17
(gdb) set $foo = ??? somehow set this to display line 1
(gdb) call myFunc($foo)

(我排除了循环控件以使示例简单)

或者还有其他方法吗?

最佳答案

据我所知这是不可能的,考虑到作者的所有 Lisp 背景,这有点令人惊讶 :) 您需要重定向(grepsed , 和 awk 在大文件上创造奇迹,总是有 perl),或者你自己的基于 $pc 的指令解码,我假设是不是一个选择。

那我真的不明白你想做什么。找出跳跃目标?搬迁正确性?什么是直到运行时您才知道代码?更多细节可能会指明更好的方向。

编辑:

只是一些链接 - 还没有尝试过 - 你可能想尝试一下 script-extension 设置,看看你是否可以让 Python 命令文件为你工作:见Extending GDBPython in GDB .

关于c++ - 将 gdb 显示保存到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3183319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com