# LXT-Binary **Repository Path**: DaviesH/lxt-binary ## Basic Information - **Project Name**: LXT-Binary - **Description**: 二进制组件化以及二进制与源码调试热切方案 - **Primary Language**: Swift - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-11-23 - **Last Updated**: 2022-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LXT-Binary #### 介绍 二进制接入带来的好处是工程编译时间短,但是弊端也很明显,那就是调试麻烦,打成二进制的组件就是一个黑盒,工程遇到crash或者断点调试的时候就没法看到源码,如下是二进制组件化以及二进制与源码调试热切方案。 #### 安装使用说明 1. 将项目的根目录中OtherFiles文件夹里的.lldbinit文件放入Mac的根目录中(可在终端执行 open ~/ 命令) 2. 在Mac的根目录中创建文件夹命名为lldb_source_cache,并将源文件ZYConfigs.swift(调试的源码,在第6中可知道是该文件中闪退)放入其中 3. 在lldb_source_cache中创建文件夹sh,并把lldb_source.py放入其中 4. 打开终端切进项目中进行pod install 5. 打开.xcworkspace,Run运行项目 6. 项目会发生闪退如下: ![](https://foruda.gitee.com/images/1669182678009201986/0b9516e6_884952.png "截屏2022-11-23 13.50.21.png") 7. 首先在控制台第一行看到一句The "mapsource" command has been installed, type "help mapsource" for detailed help. 说明咱们的mapsource命令已经可以使用了 8. 复制图片上闪退的内存地址0x10ca98514,在控制台输入mapsource 0x10ca98514 回车运行 ![](https://foruda.gitee.com/images/1669183086884198299/3288e3f1_884952.png "屏幕截图") 就会跳转到对应的源码闪退的位置进行调试 #### 感谢Anyhong贡献 1. 本Demo是学习Anyhong的文章[iOS组件二进制源码调试热切换方案](https://anyhong.com/archives/debug-with-sourcecode),在此做一下记录。