如何调试Clang源码

下载编译Clang

这个就直接去LLVM官网下载,然后编译好Clang就行,注意得debug模式,保存符号信息。

调试Clang

可以直接通过命令行来调试

bash 复制代码
#进入调试环境,这里的clang得是刚刚编译好的
lldb ./clang
# r是运行,后面是正常的编译参数
r use.c -o use

然后用br set来打断点、frame set切换栈帧,等等lldb命令。

但是这样还是有点不方便,我还是习惯在Xcode上调试。

可以随便创建一个工程,然后Edit Scheme,修改Executable文件,再在Arguments里面,带上上面的编译参数就行

打断点的话,直接拖一个Clang的cpp文件到Xcode里,然后正常打个断点就行。

相关推荐
高铭杰9 小时前
Postgresql源码(141)JIT系列分析汇总
postgresql·jit·llvm
一丝晨光4 天前
GCC支持Objective C的故事?Objective-C?GCC只能编译C语言吗?Objective-C 1.0和2.0有什么区别?
c语言·开发语言·ios·objective-c·msvc·clang·gcc
雅典没有娜1 个月前
QT/C++与LUA交互过程中,利用ZeroBraneStudio对LUA脚本进行仿真调试
c++·qt·lua·调试·仿真·zerobranestudio
Lhuu(重开版2 个月前
2024硬件科技协会LLVM第二次考核题解
算法·ast·llvm
Eloudy2 个月前
C CPP 中注释的正则表达式
正则表达式·llvm
小鹿撞出了脑震荡2 个月前
Xcode——LLDB Debugger 与断点调试学习
学习·macos·xcode·lldb
泷fyk2 个月前
软件开发和调试:定位错误位置
嵌入式·c·调试·addr2line
Amd7942 个月前
Nuxt.js 应用中的 dev:ssr-logs 事件钩子
开发·监控·日志·nuxt.js·调试·ssr·钩子
CYRUS_STUDIO2 个月前
使用 opt 优化 LLVM IR,定制 clang 实现函数名加密
c++·性能优化·llvm
CYRUS STUDIO2 个月前
编译 LLVM 源码,使用 Clion 调试 clang
c语言·c++·visual studio·clang·ndk·llvm·clion