首页 > 解决方案 > clang:fdebug-prefix-map 如何使用相对于用户主路径`~`的新路径?

问题描述

我尝试~/src/lib使用fdebug-prefix-map.

我可以确认DW_AT_decl_file被重写为类似~/src/lib/path.

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

我该如何解决这个问题?

标签: gccgdbclanglldb

解决方案


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

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

用法如下所示:

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

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

(lldb) settings show target.source-map

推荐阅读