首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clang不生成调试符号

clang不生成调试符号
EN

Stack Overflow用户
提问于 2021-09-28 04:42:33
回答 1查看 52关注 0票数 0

我有一台a.c

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int a = 1;
    int b = 2;
    int c = a + b;
    return 0;
}

当使用clang -g a.c编译时,我无法获得调试符号。

代码语言:javascript
复制
joey@voyager-arch /t/a4> lldb a.out
(lldb) target create "a.out"
Current executable set to '/tmp/a4/a.out' (x86_64).
(lldb) l
(lldb)

但是如果我用的是gcc,我可以成功的得到调试符号,用gcc -g a.c编译

代码语言:javascript
复制
joey@voyager-arch /t/a4> gdb a.out
GNU gdb (GDB) 11.1

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from a.out...
(gdb) l
1       #include <stdio.h>
2
3       int main() {
4               int a = 1;
5               int b = 2;
6               int c = a + b;
7               return 0;
8       }
(gdb)

我使用的是具有amd ryzen 7 cpu的archlinux。

代码语言:javascript
复制
clang: 12.0.1
lldb: 12.0.1
gcc: 11.1.0
gdb: 11.1
EN

回答 1

Stack Overflow用户

发布于 2021-09-28 19:28:12

可能是lldb 12不兼容的bug,降级到lldb 10解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69355902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档