#python #clion #lldb
#python #clion #lldb
Вопрос:
Я пытаюсь отладить некоторые коды c , вызываемые из программы на Python (через привязку python-c ). Мой первоначальный подход состоял в том, чтобы запустить ipython, открыть lldb и присоединить процесс ipython к lldb. Затем перейдите в ipython, чтобы запустить мою программу на python. Это работает нормально.
Теперь я хочу воспользоваться преимуществами CLion IDE, подключив процесс ipython внутри CLion. Однако, когда я выполнял процесс присоединения из CLion, похоже, что он присоединяется к процессу к отладчику pydev, как показано ниже, вместо того, чтобы присоединять процесс к lldb:
Attaching to a process with PID=18016
/Library/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python /Applications/CLion.app/Contents/plugins/python/helpers/pydev/pydevd_attach_to_process/attach_pydevd.py --port 51406 --pid 18016
Connected to pydev debugger (build 183.5429.37)
Однако я хочу, чтобы процесс был присоединен к lldb, а не к pydev_debugger.
Как мне заставить attach_process в CLion присоединить процесс к lldb вместо pydev_debugger? Спасибо!
Ответ №1:
В диалоговом окне прикрепления должны быть две записи, соответствующие целевому процессу, о котором идет речь: прикрепить с помощью отладчика pydev и собственного отладчика. Вы можете попробовать отфильтровать список по PID процесса, чтобы проверить это.
Пожалуйста, найдите аналогичный отчет в CLion issue tracker здесь:
В диалоговом окне «Присоединить к локальному процессу …» есть два типа процессов, к которым вы можете подключиться: один приходит из CLion (прикрепить с помощью LLDB или GDB), другой предоставляется плагином Python (прикрепить с помощью Python Debugger). Поскольку процесс, к которому вы собираетесь подключиться, является интерпретатором Python, по умолчанию предлагается последний (отладчик Python), в то время как вам лучше использовать первый (отладчик CLion) для отладки кода C / C .