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

LLDB调试字符串显示“summary unavailable”问题求助

解决LLDB调试中std::string显示"Summary unavailable"的问题

1. 检查CLion调试配置

  • 打开CLion设置(快捷键Cmd+,),进入Build, Execution, Deployment > Debugger > Data Views > C/C++
  • 勾选Enable auto-load of external debug information和Enable LLDB data formatters,恢复默认设置后重启CLion

2. 加载LLDB标准库格式化脚本

在CLion的调试控制台里执行这条命令,强制加载libcxx的格式化脚本:

command script import /Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/formatters/libcxx.py

如果找不到Xcode路径,先用xcode-select -p命令获取安装路径,替换上面的对应部分。

3. 调整编译调试选项

在CMakeLists.txt里加上完整的调试编译参数,避免优化导致变量无法解析:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0")

-g生成完整调试信息,-O0关闭所有编译优化。

4. 添加自定义LLDB格式化规则

如果前面的方法都没用,手动给std::string和vector加显示规则:

  • 打开CLion设置Build, Execution, Deployment > Debugger > LLDB > Custom commands
  • 添加启动命令:
    type summary add -w c++ std::string -s "${var.__r_.first.__value_.__data_}"
    type summary add -w c++ std::vector<std::string> -s "size = ${var.__size_}" -e
    
    这条命令会直接显示字符串内容,vector会显示大小并允许展开查看所有元素。

5. 更新工具版本

你当前用的CLion 2022.2.5和clang 14.0.3版本偏旧,尝试更新CLion到最新稳定版,同时升级Xcode(clang会随Xcode更新),新版本通常会修复LLDB和标准库的调试兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 07:35:03