Где находятся переменные среды LLVM или как настроена среда LLVM? - PullRequest
0 голосов
/ 18 апреля 2020

Для контекста у меня есть Ма c, который я использовал для разработки на своей работе с использованием различных пользовательских сценариев сборки. Сейчас я пытаюсь использовать тот же компьютер, чтобы поиграть с некоторыми личными проектами Xcode.

В качестве первого шага я создаю новый проект "Single View App" в Xcode 11.3.1 и пытаюсь запустить его на подключенное устройство iPhone или iOS Simulator.

Я получаю следующую ошибку:

error: the replacement path doesn't exist: "/path/to/old/work/project/"

Насколько мне удалось выяснить ошибка происходит от OptionValuePathMappings. cpp в LLVM

Так что, вероятно, это произошло во время инициализации интерактивного отладчика LLDB.

Я хотел бы знать, где значение из пути замены приходит выяснить, как сбросить его для моих личных проектов.

Есть ли команда для отображения аргументов запуска для lldb? Как Xcode настраивает lldb?

1 Ответ

1 голос
/ 21 апреля 2020

lldb имеет настройку - target.source-map, которая используется, когда вы собрали двоичный файл из источников в местоположении A и хотите отладить его с помощью источников, перемещенных в местоположение B. Поскольку отладочная информация записывает абсолютные пути, вам необходимо скажите lldb, как сопоставить пути в отладочной информации с их текущим местоположением.

Ошибка предупреждает вас, что у вас есть настройка target.source-map где-то, которая указывает на источник назначения (местоположение B), который не ' не существует. Это будет команда в форме:

settings set target.source-map /Some/Build/Path /path/to/old/work/project

При запуске под Xcode пользовательские настройки для lldb приходят из файлов точек точно так же, как и командная строка lldb, за исключением той командной строки lldb всегда читает из ~/.lldbinit, но при запуске под Xcode предпочитает ~/.lldbinit-Xcode, если он существует.

Этот параметр не считывается из переменных окружения, это должна быть прямая команда, введенная где-то. Xcode не устанавливает эту переменную внутренне при отладке, поэтому она должна быть где-то в файле запуска.

...