kray_zemli (kray_zemli) wrote in ru_programming,
kray_zemli
kray_zemli
ru_programming

Инструмент для разбирательства в чужом C++ кода

На нашей работе много так себе написанного C++ кода и очень мало документации.

У меня большой опыт использования одной очень известной тулзы для reverse-engineering. Её особенность в том, что перед заголовком функции она показывает так называемые XREF'ы, т.е. места, откуда эта функция вызывается. На них можно нажать и попасть туда, там опять нажать на XREF или вызов функции, всё кладётся как бы в стек, и потом по шагам можно возвращаться обратно.

Хочется подобного, но не для бинарников, а для C++ исходного кода. Что-то типа специализированного статического анализатора. Чтобы быстрым нажатием нескольких кнопок узнать, где используются поля структуры, откуда вызывается функция или метод, в т.ч. виртуальный, где создаётся экземпляр класса, и т.п. Полнотекстовый поиск не всегда хорошо справляется, даёт ложные совпадения (одноименные методы в разных классах и т.п.), и вообще, недостаточно автоматизирует процесс.
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 37 comments