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

在GDB中如何用单条命令解引用多重指针获取目标字符串

GDB单命令访问目标字符串方案

核心命令

根据给出的层级指向关系,有两种常用命令可选:

  • 直接打印原始字符串内容(无需依赖C++标准库美化打印插件):
x/s ***$rax
  • 按照std::string类型格式化打印(自动处理短字符串优化SSO场景,兼容性更强):
p *(std::string*) **$rax

命令逻辑说明

三级解引用完全匹配层级结构:

  1. *$rax:解引用寄存器RAX,获取栈上存储的目标值
  2. **$rax:二次解引用,获取std::vector<std::string>对象的内部数据数组起始指针
  3. ***$rax:三次解引用,获取数组第一个std::string对应的字符内存起始地址,x/s会自动读取到字符串终止符\0为止,输出完整可读内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:39:06