CLion - как настроить подключение к существующему процессу для отладки .dylib - PullRequest
1 голос
/ 03 мая 2020

Я разрабатываю плагин для стороннего хост-приложения на MacOS, который компилируется как .dylib (со связанным каталогом DSYM). Каталог .dylib и DSYM автоматически копируется в каталог плагинов хоста с помощью прилагаемого сценария сборки. Сценарий сборки использует clang для сборки .dylib. Хост-приложение может открывать плагин.

С Xcode я могу отлаживать .dylib с lldb в Xcode, потому что Xcode каким-то образом может определить, что источники соответствуют dylib, как только он загружено.

Я хочу sh установить аналогичную систему с CLion, однако мне не удалось заставить CLion связать строки точек останова в источнике с dylib. Когда я создаю точку останова в источнике, он предупреждает меня, что «точка останова в настоящее время не будет достигнута. Никакой исполняемый код не связан с этой строкой». Я почти ожидаю такого рода предупреждения, потому что изображение еще не было загружено в хост-приложение. Однако загрузка плагина не вызывает точки останова.

Я попытался установить для исполняемого файла конфигурации значение .dylib, а для рабочего каталога указать расположение .dylib и каталога DSYM (это то, что мне нужно делать при запуске lldb вручную), и это, похоже, не помогает.

Мои вопросы:

  1. Использует ли CLion lldb для внутреннего использования?
  2. Что Я пытаюсь сделать это возможным с CLion?
  3. Если так, какова правильная конфигурация для этой ситуации?

Важно отметить, что я не собираю .dylib непосредственно с CLion он создается внешней системой сборки, я просто пытаюсь отладить полученный образ с помощью CLion, который, как я понимаю, должен работать (по крайней мере, он работает с Xcode & lldb). У меня есть базовый код c CMakeLists.txt, который достаточен для CLion, чтобы понять кодовую базу, но он не используется для его построения (помимо фоновой компиляции, которую CLion может сделать для проверки синтаксиса et c).

...