有时候,使用 clang -g test.c 编译出可执行文件后,发现 gdb a.out 进行调试无法读取符号信息,为什么?

经过测试,gdb 并不是和所有版本的 llvm/clang 都兼容的

当 gdb 版本为 9.2 时,能支持 9.0.1-12 版本的 clang,但无法支持 16.0.6 版本的 clang

可以尝试使用 LLVM 专用的调试器 lldb

我尝试使用了 16.0.6 版本的 lldb 调试 16.0.6 的 clang 编译出的可执行文件,顺利读取符号信息,如下图

有时候,使用 clang -g test.c 编译出可执行文件后,发现 gdb a.out 进行调试无法读取符号信息,为什么?_第1张图片

你可能感兴趣的:(c++)