MAC 下使用LLDB进行调试,VSCODE Launch.json 配置如下
上面配置中“MIMode”:"lldb"指明了调试所使用的调试器,【注意】使用lldb进行调试是,vscode需要安装CodeLLDB插件。"preLauchTask":"prelaunch"指明了,加载程序前,将执行任务名称为prelaunch的任务,任务配置如下所示:
上面的任务配置需要关注“dependsOn”项,配置此项后,执行“prelaunch”时,按照顺序执行"copy-libs"、"ln-libs-01"、"ln-libs-02"、“map-libs”等任务,具体任务内容,参看上图具体配置。
"map-libs" 任务为在MAC系统中设置动态库检索路径,它执行名为maplibs.sh的脚本文件实现动态库递归路径映射,具体实现如下
此脚本主要实现用dyldinfo -dylibs 指令查看动态库依赖关系,并且用install_name_tool -change 指令进行动态库依赖库关系进行改正,这里用与修改动态库查找路径。