LLDB -设置源代码路径

LLDB - setting source code path

本文关键字:路径 源代码 设置 LLDB      更新时间:2023-10-16

根据lldb的官方指南,在调试会话期间(使用命令source list)查看源代码的能力是通过为源文件设置新的路径名来完成的。

。如果我在一台计算机上的/tmp中编译了我的项目,并将其部署到另一台计算机上,其中源代码位于/Users/Src/中,我应该在部署机器上运行lldb时输入settings set target.source-map /tmp /Users/Src

然而,如果我从别人那里得到了可执行文件,并且不知道构建目录,会发生什么?也许源代码的组织方式与构建位置不同(但文件内容是相同的)。

我的问题是:

  1. lldb知道如何在提供的路径中递归搜索匹配的源文件吗?

  2. 如何从mach-o可执行文件中获得原始路径名?

下面是命令的正式描述:

为调试会话重新映射源文件路径名。如果您的源文件不再位于与程序构建时相同的位置—可能程序是在不同的计算机上构建的—您需要告诉调试器如何在其本地文件路径而不是构建系统的文件路径中查找源文件。

如果您知道所讨论的代码中的函数名,则执行:

(lldb) image lookup -vn <FunctionName> <BinaryImageNameContainingFunction>

查找CompileUnit条目。这里给出的路径是从调试信息中得到的路径lldb。