Отладка python 3.7 в LLDB на macOS 10.15.6

#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 не так сложно построить.