Участвуя в разработке проекта pykd часто возникает необходимость прототипирования работы с DIA SDK. Ну а на чем же писать прототипы, как не на питоне :) В конечном итоге появился проект diabind, который реализует возможность работы с DIA SDK из питона.
Сейчас реализована работа с интерфейсами сессий, символов, исходного кода и номерами строк. Так же модуль может работать с DIA от различных версий Visual Studio: 8.0, 9.0, 10.0 и 11.0. Выбор версии происходит поиском зарегистрированного COM-интерфейса от более старших версий к младшим. Загрузка отладочной информации возможна как из pdb-файла (функция load_pdb), так и из pe-файла (функция load_exe) с возможностью указать строку поиска отладочных символов. Обе функции возвращают сесиию. Дальнейшая работа с которой аналогична работе с COM-объектами DIA.
Скачать diabind
ΞρεΤΙκ