如何在Windows上使用常规clang编译器驱动配合lldb调试?
在Windows上使用Clang配合LLDB调试的解决方案
问题背景
使用clang-cl命令可正常生成带调试符号的可执行文件,且LLDB能识别调试信息:
clang-cl -MTd -Z7 -fuse-ld=lld main.c -o main.exe lldb main.exe
但希望使用语法跨平台一致的clang命令替代clang-cl,直接执行clang -g main.c -o main.exe生成的可执行文件,LLDB无法找到调试信息,需解决该问题。
解决方案
1. 让Clang生成LLDB可识别的调试符号(推荐)
在Windows环境下,Clang默认的-g参数生成的调试格式无法被LLDB正确识别,需指定生成CodeView格式的调试信息(对应Windows的PDB文件),同时搭配LLD链接器确保兼容性:
clang -gcodeview -fuse-ld=lld main.c -o main.exe
执行该命令后,Clang会生成与可执行文件关联的PDB文件,LLDB启动时可自动识别调试符号。
2. 手动让LLDB加载指定的PDB文件
若已生成独立PDB但LLDB无法自动识别,可在LLDB中手动加载符号:
- 启动LLDB并加载目标可执行文件:
lldb main.exe - 在LLDB命令行中执行加载命令(替换为实际PDB路径):
target symbols add ./main.pdb
内容的提问来源于stack exchange,提问作者OetkenPurveyorOfCode
相关产品推荐
相关产品推荐

