如何让Xcode作为C可执行文件的LLDB前端实现完整调试功能
用Xcode完整集成调试带dSYM的C程序
步骤1:创建空Xcode项目
- 打开Xcode,选择「Create a new Xcode project」
- 选「Command Line Tool」模板,语言设置为C,点击「Next」
- 填写项目名称(比如
DebugMyC),选好存储位置后点击「Create」 - 删除自动生成的
main.c文件(右键文件→Delete→Move to Trash)
步骤2:关联可执行文件与dSYM
- 选中项目导航栏顶部的蓝色项目图标,切换到「Build Phases」标签
- 若没有「Copy Files」阶段,点击左上角「+」→「New Copy Files Phase」添加
- 把你的可执行文件和对应的
.dSYM文件夹拖入该区域,确保「Destination」选择「Products Directory」 - 点击顶部Scheme选择框→「Edit Scheme...」,进入「Run」标签的「Info」页
- 在「Executable」下拉框选择你的可执行文件(没显示就点「Other...」手动选中),勾选「Debug executable」后关闭窗口
步骤3:关联源代码文件
- 把你的C源代码(
.c/.h文件)拖到Xcode项目导航栏的项目目录下 - 弹出的对话框取消勾选「Copy items if needed」(不想复制文件到项目目录时),点击「Finish」
- 若调试时提示找不到源文件,可在LLDB控制台手动设置源路径映射:
settings set target.source-map /原编译时的代码路径 /当前源代码所在路径
步骤4:启动调试
- 点击Xcode左上角「Run」按钮(或按
Cmd+R),程序会在入口点暂停 - 现在可使用调试工具栏进行单步调试(
F6单步跳过、F7单步进入),查看变量、调用栈,也能直接在源代码中设置断点
关键注意事项
- 编译C程序必须带
-g参数生成调试信息,示例命令:gcc -g myprogram.c -o myprogram .dSYM文件夹需和可执行文件同名,且放在同一目录下- 可通过以下命令验证可执行文件的调试信息是否有效:
能输出调试内容则说明编译正确dwarfdump --debug-info myprogram | head -20
内容的提问来源于stack exchange,提问作者You'reNotARobot
相关产品推荐
相关产品推荐

