Как я могу использовать отладчик смешанного режима Python Tools for Visual Studio с Enthought Canopy Distribution?

Я использую Enthought Canopy в качестве своего дистрибутива Python из-за его пригодности для научных вычислений. Тем не менее, я использую pytools в Visual Studio в качестве своей IDE прежде всего из-за его превосходной отладки по сравнению с другими IDE для Windows.

Начиная с версии 2.0, pytools предоставляет собственный C-отладчик (отладчик смешанного режима или MMD), который очень полезен для отладки при использовании Cython или включении некоторого собственного кода C, а также, как предполагается, намного быстрее, чем стандартный отладчик, что делает его возможно отладить вычислительно дорогой код, который в противном случае работал бы слишком медленно при включенной отладке.

К сожалению, MMD pytools для работы требуются символы отладки, которые доступны для стандартного дистрибутива python, однако они отмечают, что

Если вы используете сторонний дистрибутив Python, такой как ActiveState Python или Enthought Canopy, вам нужно будет связаться с авторами этого дистрибутива, чтобы предоставить вам символы.

Мне не удалось найти эти символы отладки, доступные где-либо из Enthought, поэтому я хочу знать:

а) Планирует ли Enthought сделать символы отладки доступными для пользователей pytools

б) Если нет, каковы некоторые возможные обходные пути?

2 ответа

Решение

Enthought Canopy 1.2, который будет выпущен позднее в этом месяце, включает полную интеграцию PTVS, включая символы отладки.

(Я разработчик PTVS, который написал отладчик смешанного режима для 2.0)

К сожалению, требование к символам является жестким требованием - оно лежит в основе работы отладчика. Таким образом, единственный обходной путь - использовать двоичные файлы Python, для которых есть доступные символы - либо стандартные с python.org, либо создание их самостоятельно. Это относится только к python??. Dll, и, если вам нужна поддержка степпинга ctypes, _ctypes.pyd.

Я не знаю, отличается ли сборка Enthought от Python от обычной Python, или они совместимы с дроп-ином. Но это может стоить попробовать в качестве обходного пути.

Другие вопросы по тегам