Xcode 未读取当前工作目录中项目特定的 .lldbinit

Project specific .lldbinit in current working directory not read by Xcode

我想设置项目特定的 .lldbinit 文件,这样 "everything" 将处于版本控制之下,并且可以在新计算机中轻松设置。然而,似乎 我只能读取 ~/.lldbinit 文件 而不是任何 ~/git/project/.lldbinit 文件。

LLDB手册说:

lldb will read settings/aliases/commands from three files at startup, if they exist.

First, it will read a ~/.lldbinit-debugger command file. If you are using the lldb command line interface, this is ~/.lldbinit-lldb. If you are using lldb inside a GUI debugger like Xcode this will be ~/.lldbinit- Xcode. This is a useful place to put settings that you want to apply only when a given lldb command interpreter is used.

Second, ~/.lldbinit is read.

Third, an .lldbinit file in the current working directory (where lldb is started) will be read.

所以我的问题是:如何设置 Xcode 或项目以使用 "third" 选项,即从当前工作目录读取 .lldbinit 文件?我如何检查或更改 Xcode 的 "current working directory"?

这是您启动加载 LLDB 框架的任何进程的工作目录。 Xcode 没有有用的工作目录(我上次看是 /),所以你不能真正使用 cwd 版本。

Xcode 项目特定 lldb 设置的解决方案在许多情况下都有效,它是在 main 上放置一个符号断点,将其设置为自动继续,然后将您想要的设置放在断点命令中那个断点。

如果 Xcode 有一些 UI 来指定目标特定的 lldbinit 文件,那就太好了。

https://github.com/alloy/lldb-is-it-not

现在有一个 "Xcode plugin to load project specific .lldbinit"

Xcode现在(写成publicXcode12)已经支持设置scheme-levelLLDB Init File了。这可以作为方案 运行 阶段信息选项卡的一部分来完成。

  1. 在 Xcode 中打开项目。
  2. ⌘ + Shift + , 打开方案编辑器。
  3. Select 运行 然后是“信息”选项卡。
  4. 编辑 LLDB Init File 值。
    • 使用 $(PROJECT_DIR) 引用包含项目的目录。
    • 使用$(SRCROOT)引用目标的源根目录。