Я только начал изучать C, и мне трудно находить ошибки, утечки памяти и тому подобное. Какие хорошие инструменты помогут вам найти такие вещи? Я слышал о Вальгринде, но есть ли другие?
Для меня (в Linux) есть:
Valgrind ловит много ошибок памяти. Это также пропускает разнообразие, такое как доступ вне локального массива. Наш инструмент CheckPointer будет отлавливать практически все типы неверных ссылок на память в момент возникновения ошибки. Посмотрите таблицу сравнения на веб-странице, чтобы увидеть больше вещей, которые Valgrind не поймет, что CheckPointer будет.
Я подозреваю, что они стоят больше, чем вы готовы заплатить, но и Coverity, и Klocwork проводят серьезную проверку на утечки памяти, наряду со многими другими вещами.
lint - классический инструмент для статического анализа C.
Если вы динамически распределяете память, ваши программы, вероятно, уже слишком сложны, чтобы выполнять ее действительно хорошо, но вы можете быть удивлены анализом значений в Frama-C. Взгляните на учебник и перейдите к главе учебника в руководстве , если вы все еще заинтересованы.