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

在LLDB调试中如何访问链表变量值及整数数组元素?

GDB调试查看链表与数组内容的方法

针对你用frame variable只看到内存地址的问题,用以下方法直接查看实际数据:

查看链表(t_stack类型指针)

  • 解引用查看当前节点的结构体内容:
    frame variable *stack_a
    
    会直接输出stack_a指向的t_stack结构体所有成员的值,比如链表节点的val、next指针等。
  • 查看完整链表(递归展开):
    先取消元素显示数量限制:
    set print elements 0
    
    再打印整个链表:
    print *stack_a
    
    GDB会自动递归展开所有链表节点,直到遇到NULL。

查看整数数组(int*类型指针)

  • 查看单个元素:
    frame variable temp[索引值]
    
    比如temp[0]查看数组第一个元素,替换索引值即可查看对应位置。
  • 查看连续N个元素:
    frame variable temp[起始索引]@N
    
    比如temp[0]@5会显示数组从第一个元素开始的5个连续值。

实用调试设置

  • 让结构体显示更美观:
    set print pretty on
    
  • 自动解引用多层指针(适合链表):
    set print dereference-limit 2
    
    之后用frame variable stack_a会自动解引用一次,直接显示结构体内容,不用手动加*。
  • 自动跟踪显示变量:
    执行以下命令后,每次单步调试(next/step)都会自动刷新显示指定内容:
    display *stack_a
    display temp[0]@5
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:15:56