LLDB -设置源代码路径
LLDB - setting source code path
根据lldb的官方指南,在调试会话期间(使用命令source list
)查看源代码的能力是通过为源文件设置新的路径名来完成的。
。如果我在一台计算机上的/tmp中编译了我的项目,并将其部署到另一台计算机上,其中源代码位于/Users/Src/中,我应该在部署机器上运行lldb时输入settings set target.source-map /tmp /Users/Src
。
然而,如果我从别人那里得到了可执行文件,并且不知道构建目录,会发生什么?也许源代码的组织方式与构建位置不同(但文件内容是相同的)。
我的问题是:
-
lldb知道如何在提供的路径中递归搜索匹配的源文件吗?
-
如何从mach-o可执行文件中获得原始路径名?
下面是命令的正式描述:
为调试会话重新映射源文件路径名。如果您的源文件不再位于与程序构建时相同的位置—可能程序是在不同的计算机上构建的—您需要告诉调试器如何在其本地文件路径而不是构建系统的文件路径中查找源文件。
如果您知道所讨论的代码中的函数名,则执行:
(lldb) image lookup -vn <FunctionName> <BinaryImageNameContainingFunction>
查找CompileUnit
条目。这里给出的路径是从调试信息中得到的路径lldb。
相关文章:
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何将更多文件夹添加到c++include路径
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- C++A*算法并不总是在路径中具有目标节点
- 如果编译的源代码是特定于它编译的硬件的,我们如何分发它
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 从函数角度看ID到文件路径的内部与外部映射
- 难以理解某些人解决IOI问题的源代码
- 使用g++编译hdf5源代码
- boost xml parsingl将xml的路径作为变量发送
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- 如何使用cppcheck处理半相对包含路径
- 在C++中设置基于操作系统的文件路径
- 基于编译器选项的编译二进制路径
- 如何使用C++读取另一个程序中的源代码输出
- 按边长度递归搜索图中所有可行路径
- 使用变量值作为 PlaySound 中的路径
- Qt自动生成的表单提供了错误的源代码文件路径
- 如何将 .c 和 .h 文件存储在包含路径中,与当前项目的源代码分开
- LLDB -设置源代码路径