#python #macos #lldb
#python #macos #lldb
Вопрос:
Я использую Mac с Catalina 10.15.6 на Intel MBP. Я пытаюсь отладить библиотеку C , которая имеет привязку к Python 3.7.7, при этом Python устанавливается в venv. Раньше я мог отлаживать его через lldb, перейдя,
lldb `which python` -- -m pytest myCrashingTest.py
Затем, вызвав «run», выполните его по умолчанию, а затем выполните обычный отладочный fandango.
Теперь, когда я вызываю «выполнить», он сообщает мне…
ошибка: процесс завершен со статусом -1 (ошибка 1)
Если я попытаюсь отладить python самостоятельно, это выдаст мне ту же ошибку.
lldb `which python`
Я не могу понять это и не могу найти ничего полезного с помощью поиска в Google. Если я пытаюсь отладить системный python, я получаю ошибку целостности системы, которую я могу обойти, если потребуется, но я не использую системный python. Я вынужден вводить отладочные отпечатки в библиотеку C , как будто это снова 1980-е годы.
Любая помощь приветствуется.
Ответ №1:
Когда включен SIP, lldb не разрешается отлаживать системные двоичные файлы и, в более общем смысле, любые двоичные файлы, разработанные в коде и не помеченные как готовые к отладке. Системный Python не настраивается на отладку, поэтому вам придется либо отключить SIP (не уверен, как вы это делаете в venv), либо создать отладочную версию python самостоятельно. Я обычно делаю последнее, Python не так сложно построить.