You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置GDB TUI窗口以自动显示原始内存内容?

配置GDB TUI自动显示内存内容

完全可以配置GDB TUI实现自动显示指定内存地址(如栈指针$sp)的内容并实时更新,无需每次手动执行x/20x类命令,具体操作如下:

1. 进入GDB TUI模式

  • 启动GDB时直接开启TUI:gdb -tui <可执行文件>
  • 若已在普通GDB会话中,执行命令切换到TUI:
    layout split  # 同时显示源码和汇编窗口
    # 或选择单一窗口:layout src(源码)/ layout asm(汇编)
    

2. 设置自动更新的内存显示

使用display命令指定要监控的内存范围和格式,该命令会在程序每次停止(如单步、断点触发)时自动刷新内容:

  • 监控栈指针处的20个双字(与示例格式一致):
    display/20x $sp
    
  • 监控固定地址的内存:
    display/20x 0x7fffffffe270
    

执行后,TUI界面的命令输出区域上方会自动新增一个显示块,每次程序状态变化时都会同步更新内存内容,效果和你给出的示例一致。

3. 调整显示体验

  • 查看当前自动显示项:info display
  • 移除不需要的自动显示项:undisplay <编号>(编号来自info display的输出)
  • 调整窗口高度(比如让内存显示区域更大):
    winheight cmd 10  # 将命令窗口高度设为10行,腾出更多空间给自动显示区
    
  • 关闭自动显示的重复内容提示:set print repeats 0

示例效果

当你执行display/20x $sp后,每次单步执行next或step,内存区域会自动刷新为当前栈指针处的最新内容,类似你提供的输出:

0x7fffffffe270: 0x00000000  0x00000000  0x55555250  0x00005555
0x7fffffffe280: 0x00000000  0x00000000  0x55555070  0x00005555
...

内容的提问来源于stack exchange,提问作者traveh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 15:55:21