clang:fdebug-prefix-map如何使用相对于用户主目录“〜”的新路径?

时间:2019-06-26 13:39:59

标签: gcc gdb clang lldb

我尝试使用~/src/lib将源文件路径重写为fdebug-prefix-map

我可以确认DW_AT_decl_file被重写为~/src/lib/path之类的东西。

但是结果是lldb找不到源文件。如果我更改为绝对路径,则可以正常工作。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您可以使用target.source-map设置来重新映射源文件的位置。来自(lldb) apropos source-map

  

源路径重新映射用于跟踪源文件在生成后与当前系统中存在文件之间的位置变化。它由一个二元组数组组成,每个二元组的第一个元素是构建文件时路径的一部分(从根开始),第二个元素是原始构建层次结构的其余部分植根于文件的路径。本地系统。依次检查数组中的每个元素,第一个导致匹配的元素获胜。

用法类似于:

(lldb) settings append target.source-map /foo /bar

请注意,您此处使用append而不是set,因为否则每次添加条目时都会覆盖映射。您可以使用以下方法检查映射:

(lldb) settings show target.source-map