V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rednose1037
V2EX  ›  C++

mac clion 调试怎么才能看到 stl 容器的值

  •  
  •   rednose1037 · 1 天前 · 730 次点击
  •   查看本主题需要登录

    image.png

    • mac 不维护 gdb ,不想手动配置特定版本;默认使用 libc++,我改成 libstdc++,
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++ -I/opt/homebrew/Cellar/gcc/13.2.0/include/c++/13.2.0 -I/opt/homebrew/Cellar/gcc/13.2.0/include/c++/13.2.0/aarch64-apple-darwin23.4.0")
    
    • 一大堆找不到 stl 报错,路径确认没问题,没搞来
    • 累了,。。。换 ide 就不用建议了,就想知道 mac clion 这个够吧 调试怎么才能看 stl 的值...
    6 条回复    2025-02-02 14:47:25 +08:00
    nightwitch
        1
    nightwitch  
       1 天前
    标准库(libc++/libstdc++),编译器(gcc/clang), 调试器(gdb/lldb)混搭着使用就这样。能编过,但是调试起来体验不好。
    统一用 clang 的工具链和标准库,或者统一用 gcc ,就没这问题了
    MoYi123
        2
    MoYi123  
       20 小时 50 分钟前
    直接用 gdb terminal print 能打印出来吗? 先确定一下是 gdb 的问题还是 clion 的.

    如果确定是 clion 的问题, 可以找 jetbrains 的人帮你,
    我之前也遇到过 clion 里的 gdb 有错误, 但是 gdb print 是好的, 后来删了一个 tmp 下的缓存文件就好了.
    https://youtrack.jetbrains.com/issue/CPP-41050/Debugging-with-GDB-in-remote-toolchains-is-broken-by-CLion-update
    rednose1037
        3
    rednose1037  
    OP
       6 小时 59 分钟前
    @MoYi123 #2 mac 用不了 gdb ,是 lldb 🥲
    nightwitch
        4
    nightwitch  
       5 小时 40 分钟前
    brew 装一个就有了吧
    rednose1037
        6
    rednose1037  
    OP
       5 小时 13 分钟前
    @nightwitch #4
    ```
    jialage@jialagedeMacBook-Pro ~ % brew install gdb
    ==> Downloading https://formulae.brew.sh/api/formula.jws.json
    ==> Downloading https://formulae.brew.sh/api/cask.jws.json
    gdb: The x86_64 architecture is required for this software.
    Error: gdb: An unsatisfied requirement failed this build.
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1971 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.