

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") 1 nightwitch 2025 年 2 月 1 日 标准库(libc++/libstdc++),编译器(gcc/clang), 调试器(gdb/lldb)混搭着使用就这样。能编过,但是调试起来体验不好。 统一用 clang 的工具链和标准库,或者统一用 gcc ,就没这问题了 |
2 MoYi123 2025 年 2 月 1 日 直接用 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 |
3 rednose1037 OP @MoYi123 #2 mac 用不了 gdb ,是 lldb |
4 nightwitch 2025 年 2 月 2 日 brew 装一个就有了吧 |
5 rednose1037 OP |
6 rednose1037 OP @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. ``` |
7 MoYi123 2025 年 2 月 5 日 lldb 和 gdb 和确定是不是 clion 的错误也没什么关系啊, (lldb) print a (std::unordered_map<int, std::vector<int> >) size=1 { [0] = { __cc_ = { first = 1 secOnd= size=3 { [0] = 1 [1] = 2 [2] = 3 } } } } 如果 lldb 能这样成功打印, 那肯定是 clion 的错误了, 直接找 jetbrains 就行了. |