Способ, используемый lldb для расширения оболочки, состоит в том, чтобы запустить небольшой инструмент под названием lldb-argdumper
(он находится в Xcode.app/Contents/SharedFrameworks/LLDB.framework/Resources на macOS) с переданными аргументами команды. lldb-argdumper
упаковывает содержимое argv как JSON и записывает это в стандартный вывод. Затем lldb анализирует JSON обратно в args и вставляет аргументы один за другим в массив argc / argv при запуске процесса.
Что-то на выходе неправильно упаковано. Вероятно, вы можете увидеть, что это, посмотрев вывод lldb-argdumper
с вашими аргументами. Что бы это ни было, это ошибка, поэтому, если вы можете воспроизвести ее, отправьте файл с примером http://bugs.llvm.org.
(lldb) command alias run-no-shell process launch -X 0 --
, чтобы получить псевдоним, который не выполняет расширение оболочки. Вы также можете поместить это в ваш ~ / .lldbinit.