目前,我正在使用Xcode开发iOS项目。如何为我的项目定制 lldb 环境?
我创建了一个。项目文件夹中的ldbinit文件,其中包含以下设置:
设置设定目标。可执行搜索路径/Users/xxx/Desktop/lldb/llvm 项目/lldb_Xcode/Debug/bin/lldb
设置调试器“/Users/xxx/Desktop/lldb/llvm project/lldb_xcode/Debug/bin/lldb”
但是并没有生效,最后,Xcode Launch log显示:
使用LLDBRPC,LLDB框架来自/Applications/Xcode14.2.app/Content/SharedFrameworks
lldb 本身有两个地方会查找启动脚本:用户的主目录 (~/.lldbinit) 和调试器的 CWD。出于安全原因,后者默认处于关闭状态,但对于 GUI 应用程序来说也没有多大帮助,因为您并不真正知道 CWD 在哪里(并且通常是没有帮助的,比如
/
。)
lldb 支持另一种在这种情况下有用的约定。如果 lldb 框架在名为
Xcode
的应用程序中运行,那么如果用户主目录中有一个名为 ~/.lldbinit-Xcode
的启动文件,则该文件将优先于 ~/.lldbinit
被读取。这样您就可以针对命令行和 Xcode 使用以不同方式自定义 lldb。
最后,从几个版本之前开始,Xcode 添加了对 Target 特定 lldb 启动文件的支持。如果您编辑 Xcode 目标的运行方案,则在“信息”选项卡中会有一个 LLDB Init File 条目。如果您将 lldbinit 文件的路径放在那里(它可以相对于项目,使用
$(SRCROOT)
来指示项目源位置),那么在运行该特定目标时,Xcode 将优先使用该路径。