(LLDB на MacOs Catalina) Расширение оболочки не удалось - PullRequest
0 голосов
/ 09 ноября 2019

При попытке использовать команды r или run в lldb я получаю сообщение об ошибке, подобное этому: error: shell expansion failed (reason: invalid JSON). consider launching with 'process launch'.

Это работает, когда я просто использую process launch, но я действительно не чувствую, чтоделая это.

Можно ли как-нибудь создать псевдоним или сделать расширения оболочки без ошибок?

1 Ответ

0 голосов
/ 11 ноября 2019

Способ, используемый 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.

...