Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >clang不生成调试符号

clang不生成调试符号
EN

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

我有一台a.c

代码语言:javascript
运行
AI代码解释
复制
#include <stdio.h>

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

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

代码语言:javascript
运行
AI代码解释
复制
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
运行
AI代码解释
复制
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
运行
AI代码解释
复制
clang: 12.0.1
lldb: 12.0.1
gcc: 11.1.0
gdb: 11.1
EN

回答 1

Stack Overflow用户

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

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

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

https://stackoverflow.com/questions/69355902

复制
相关文章
clang 源码导读(1): clang 入门
本系列文章会通过对 clang 源码进行拆解的方式,逐步对 clang 内部的各种逻辑进行介绍。
酷酷的哀殿
2021/03/18
5.2K0
clang 源码导读(1): clang 入门
[代码]神经符号生成机器
调和符号和分布式表示是一个至关重要的挑战,可以潜在地解决当前深度学习的局限性。最近,通过以生成对象为中心的表示模型,在这个方向上取得了显著的进展。虽然学习识别模型以无监督的方式从原始图像推断以对象为中心的符号表示,如边界框,但没有这样的模型可以提供生成模型的另一个重要能力,即根据学习的世界密度的结构生成(采样)。在本文中,我们提出了生成神经符号机器,这是一个结合了分布式和符号表示的优点的生成模型,支持符号组件的结构化表示和基于密度的生成。这两个关键属性是通过两层潜在层次实现的,具有用于灵活密度建模的全局分布式潜在和结构化符号潜在图。为了增加这种层次结构中模型的灵活性,我们还提出了 StructDRAW prior。实验表明,该模型在结构精度和图像生成质量方面明显优于以往的结构化表示模型和最新的非结构化生成模型。我们的代码、数据集和训练模型可从以下网址获得https://github.com/JindongJiang/GNM
CreateAMind
2022/06/10
2820
[代码]神经符号生成机器
clang 源码导读(2): clang driver 流程简介
Pipeline: Compilation Action Construction:根据每个输入的文件和类型,组建 action(比如 PreprocessJobAction)
酷酷的哀殿
2021/03/18
2.4K0
clang 源码导读(2): clang driver 流程简介
Clang - Use Xcode to make first Clang plugin
How to build clang~ Firstly, you need download and install CMake, a article about how to study CMake for new leaner. Secondly, make directory and download the LLVM source code: //make directory cd /opt sudo mkdir llvm sudo chown `whoami` llvm cd llvm
Mitchell
2018/09/30
1.6K0
Clang - Use Xcode to make first Clang plugin
clang 源码导读(3): clang driver 参数解析
为了控制 clang 的运行,clang 必须支持不同的参数对各种行为进行控制,所以,clang driver 启动后的第一个主要任务就是 参数解析
酷酷的哀殿
2021/03/18
2.1K0
clang 源码导读(3): clang driver 参数解析
Google Breakpad:脱离符号的调试工具
https://jackwish.net/2015/introduction-of-google-breakpad.html
Linux阅码场
2020/02/26
5.2K0
clang 源码导读(4): clang driver 构建 Actions
本篇文章会对 clang driver 的 构建 Actions 流程进行详细的讲解
酷酷的哀殿
2021/03/18
2.3K1
clang 源码导读(4): clang driver 构建 Actions
Ruby 与 clang
笔者在使用 `rbenv`[1] 安装 ruby 时,遇到一个头文件缺失导致无法编译失败的问题。
酷酷的哀殿
2021/01/04
1.9K0
Ruby 与 clang
调试 Go 的代码生成
原文:https://studygolang.com/articles/19815
sunsky
2020/08/20
5720
调试 Go 的代码生成
vim 配置 clang-format[通俗易懂]
有很多方式,我才用了官网的方式 http://clang.llvm.org/docs/ClangFormat.html
全栈程序员站长
2022/09/27
1.9K0
Idea断点调试后面的代码不走
有时候我们调试的时候可能需要走到某些行后面的代码不走了,比如我们会去删除数据库的数据然后我们不希望他去删除,当直接中断程序实际上是会去删除的,我们需要进行如下操作。
诺浅
2020/08/19
1.1K0
dotnet publish 不生成pdb文件
随着项目的体积越来越大,导致publish的时候文件越来越多,然而生产环境中其实pdb调试文件并没有什么作用(remote debug)除外,所以也就灵机一动想着是否可以不生成呢?
全栈程序员站长
2022/08/26
1.2K0
WPF 依赖属性绑定不上调试方法
在写 WPF 程序的时候会遇到依赖属性绑定了,但是值没有更新或者没有绑定上的问题,本文告诉大家可以如何调试
林德熙
2020/07/06
1.7K0
GCC、Clang和LLVM
GCC(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。
动动我试试
2020/03/12
1.1K0
LLVM(二)——Clang插件
LLVM的下载 由于国内的网络限制,我们需要借助镜像来下载LLVM的源码: https://mirror.tuna.tsinghua.edu.cn/help/llvm/ 执行如下命令下载LLVM项目
拉维
2021/04/16
1.7K0
mybatis代码生成器不生成example的方法
我用mybatis生成器,生成时总有两个model类,一个是PO类,一个是example,但example我不想要了,想去掉,查一下,修改相关配置即可. 原来配置为
星痕
2018/09/12
1.2K0
Xcode中和symbols有关的几个设置
其实被这个问题困扰了好久,不过秉承着三分钟热度的新年新气象,还是要多弄懂一点(⊙_⊙)ゞ
且行且珍惜_iOS
2022/05/13
2.1K0
Xcode中和symbols有关的几个设置
Clang插件统计方法耗时
LLVM的优化和转换工作就需要通过PASS来进行,就像下面这种图,PASS就像流水线上的操作工一样对中间代码IR进行优化,每个PASS完成特定的优化工作。
Helloted
2022/06/08
9070
Clang插件统计方法耗时
APP生成与运行(一)
CPU 由上亿个晶体管组成,在运行的时候,单个晶体管只能根据电流的流通或关闭来确认两种状态,我们一般说 0 或 1,根据这种状态,人类创造了二进制,通过二进制编码我们可以表示所有的概念。但是,CPU 依然只能执行二进制代码。我们将一组二进制代码合并成一个指令或符号,创造了汇编语言,汇编语言以一种相对好理解的方式来编写,然后通过汇编过程生成 CPU 可以运行的二进制代码并运行在 CPU 上。
Helloted
2022/06/07
1.2K0
APP生成与运行(一)
Linux From Scratch(LFS11.0)构建 LFS 系统 - 移除调试符号
大多数使用以下命令的用户不会遇到什么困难。但是,如果打错了命令,很容易导致新系统无法使用,因此在运行 strip 命令前,最好备份 LFS 系统的当前状态。
Lucifer三思而后行
2021/10/08
8390

相似问题

Make不生成调试符号

10

使用调试符号构建clang格式

11

Android不生成将调试符号上传到Google的调试符号

112

未能生成调试符号

13

绕过C错误生成clang调试信息

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档