Мои рабочие места находятся в моем домашнем каталоге.
В настоящее время я пытаюсь отладить код Python, который загружает общую библиотеку C ++, используя Eclipse Oxygen и PyDev. Я могу отлично отлаживать файлы Python.
Я запускаю программу (pytest unit test, если это имеет значение) с точкой останова где-то в тесте до вызова разделяемой библиотеки (но после ее загрузки), а затем запускаю отладку C / C ++ Attach to Application и присоединяюсь к приостановленному потоку Python , Затем я устанавливаю точку останова в своем коде C ++ и возобновляю python, и получаю это из вывода консоли GDB:
Нет исходного файла с именем /home/myname/…/models/sourcefile.cpp
Делать ls /home/myname/.../models
ясно показывает, что этот файл существует.
Я не уверен, имеет ли это значение, но моя библиотека была скомпилирована с CMake, где каталоги с исходными текстами и сборками являются родственными. Например. рабочая область ~ / dev, а источник находится в ~ / dev / sourceFolder, а файлы сборки находятся в ~ / dev / buildFolder
Обновить:
Я смог подключиться к запущенному потоку отладки Python вручную в консоли, используя gdb python <thread_number>
, Это работает и находит мои исходные файлы очень хорошо, что позволяет мне отлаживать вручную в консоли. Было бы намного быстрее и менее громоздко, если бы я смог заставить его работать в Eclipse.
Вещи, которые я пробовал в настройках конфигурации отладки C ++:
Казалось, ничего из этого не помогло.
Задача ещё не решена.
Других решений пока нет …