У меня есть большой старый проект на С++, скомпилированный в Visual Studio 2008. Я знаю, что существует разумное количество "мертвого" кода, который нигде не обращается - методы, которые не вызываются, целые классы, которые не используются.
Я ищу инструмент, который идентифицирует это с помощью статического анализа.
Этот вопрос: Обнаружение мертвого кода в устаревшем проекте C/С++ предлагает использовать инструменты покрытия кода. Это не вариант, так как охват тестирования недостаточно высок.
Он также упоминает -Wunreachable-code. опция gcc. Мне бы хотелось что-то подобное для Visual Studio. Мы уже используем опцию linker/OPT: REF для удаления избыточного кода, но это не сообщает мертвый код на полезном уровне (при использовании с /VERBOSE существует более 100 000 строк, в том числе много из библиотек).
Есть ли лучшие варианты, которые хорошо работают с проектом Visual Studio?