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

如何让LLDB将所有char*类型参数显示为指针而非字符串?

配置LLDB让char*参数显示为指针而非字符串

先看这段LLDB会话片段:

* thread #1, name = 'so', stop reason = breakpoint 5.1
    frame #0: 0x000000000040113c so`test(hello="Hello, world!") at so.c:5:18
   2
   3    void test(char* hello)
   4    {
-> 5      printf("%s
", hello);
   6    }

可以看到test函数的char*参数被直接显示成了字符串,但我们希望它显示为指针地址。以下是具体配置方法:

临时生效(当前LLDB会话)

直接在LLDB命令行输入这条命令:

type summary add -s "${var}" char*

这条命令会让LLDB对所有char*类型变量,直接显示其原始指针值,不再解析为字符串。

永久生效(所有LLDB会话)

如果想让配置一直生效,编辑LLDB的初始化文件~/.lldbinit(没有的话直接新建一个),把上面的命令加进去保存即可。下次启动LLDB时,这个规则会自动加载。

如果之前尝试配置时因为语法错误导致LLDB崩溃,可以先执行下面的命令清除旧的错误规则:

type summary delete char*

再重新添加正确的规则就好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:47:08