如何调试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里,然后正常打个断点就行。

相关推荐
芦半山4 天前
解读HWASan日志
android·linux·llvm
一丝晨光7 天前
gcc 1.c和g++ 1.c编译阶段有什么区别?如何知道g++编译默认会定义_GNU_SOURCE?
c语言·开发语言·c++·gnu·clang·gcc·g++
一丝晨光11 天前
GCC和clang的爱恨情仇
macos·objective-c·xcode·apple·clang·gcc·llvm
CYRUS STUDIO18 天前
adb 远程调试,手动修改 adb 调试授权信息
android·adb·调试
云中双月20 天前
如何使用Ida Pro和Core Dump文件定位崩溃位置(Linux下无调试符号的进程专享)
linux·嵌入式·gdb·调试·gcc·崩溃·ida pro·ulimit·core dump·cross compile
witton1 个月前
C语言实现Go的defer功能
c语言·clang·gcc·defer·attribute·cleanup·block type
skylin198401011 个月前
iOS调试真机出现的 “__llvm_profile_initialize“ 错误
ios·objective-c·调试·1024程序员节
Projectsauron1 个月前
STM32 调试之栈回溯和 CmBacktrace 的使用
stm32·嵌入式·调试·1024程序员节
zkk95271 个月前
C++调试方法(Vscode)(一) ——本地调试
开发语言·c++·vscode·gdb·调试
zkk95271 个月前
C++调试方法(Vscode)(二) ——本地调试(ROS版)
开发语言·c++·vscode·gdb·调试