Python + C++ + SWIG | VS2017 + PyCharm2018 — дебаггинг
Комрады, кому-нибудь приходилось дебажить приложения, где часть — на Python, а часть — на плюсах и подключена к Питону через SWIG?
Комрады, кому-нибудь приходилось дебажить приложения, где часть — на Python, а часть — на плюсах и подключена к Питону через SWIG?
для того чтобы в Visual Studio работал debuger нужны исходники и pdb файл для бинаря, через pip этого у вас не будет
numpy
зачем вам дебагать numpy?
numpy не работает потому что python_d.exe грузит _d.pyd файлы которых у вас для numpy нет.
я бы вообще не связывался с python_d а по пробовал бы в extra_link_args добавить /DEBUG что бы получить .pdb этого должно хватить для дебага
Да ну.
imgur.com/a/XDVH4kB
VS2017
опцию для линкера тем более никто не убирал, это ж сколько бы makefileов поломалось бы.
вам нужно смотреть ваш setup.py чтобы он передавал /debug в линкер и для релиз билда тоже, вроде бы за это отвечает переменная extra_link_args
Спасибо! Там как раз и нужен именно .lib
интересно зачем? вроде как питон грузит .pyd файлы, на самом деле переименованные .dll файлы и для dll файла вам нужен pdb файл и исходники, иначе отладчик не взлетит
агрумент —debug
насколько я понимаю он делает следующие действия
— отключает оптимизации
— собирает pdb файл (опция /debug )
— собирает _d.pyd файл вместо .pyd файла
— собраный бинарь использует debug версию студийного плювого рантайма
изза последних двух действий обычный python.exe не грузит собраный екстеншен, просто имя файла на совпадает. Вам нужно слегка подправить setup.py чтобы компилятору опция /Zi и линкеру опция /debug передавалась всегда, не зависимо от наличия опции —debug
Меня достала уже 2015 и я свалил на QtCreator.
Я периодически работаю и на том и на этом к.м.к. креатор «шаг вправо шаг влево» и вообще всё аццкий какой-то ад проще к qmake чистому возвращаться ))
17 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів